簡體   English   中英

尋找一種使用JS抓取HTML的方法

[英]Looking for a way to scrape HTML with JS

顧名思義,我正在尋找一種希望直接的方法來從網頁中抓取所有HTML。 也許將其存儲在字符串中,然后在該字符串中導航以拉出所需的元素。

具體來說,我想抓取自己的Twitter頁面,並在新的div中顯示我的個人資料圖片。 我知道有幾種工具可以做到這一點,但是我會有人提供一些代碼示例或建議來說明如何自己做到這一點嗎?

非常感謝

UPDATE

在TJ Crowder做出了非常有幫助的回應之后,我做了更多的在線搜索,找到了這個資源

從理論上講,這很容易。 您只需執行ajax調用即可獲取頁面文本,然后使用jQuery將其轉換為斷開連接的DOM,然后使用所有常用的jQuery工具查找並提取所需的內容。

$.ajax({
    url:     "http://example.com/some/path",
    success: function(html) {
        var tree = $(html);
        var imgsrc = tree.find("img.some-class").attr("src");
        if (imgsrc) {
            // ...add the image to your page
        }
    }
});

但是 (這是一個很大的問題),它不太可能起作用,因為Same Origin Policy可以防止跨域的ajax調用。 某些站點可能具有開放的CORS策略,但大多數站點不會,並且在IE8和IE9上支持CORS當然需要額外的jQuery插件

因此,對於不允許您通過CORS起源的網站,必須使用一台服務器。 它可以是您的服​​務器,您可以使用服務器端代碼獲取所需頁面的文本,然后通過ajax將其發送到您的頁面(或在首次渲染時將所需的位構建到頁面中)。 所有常用的服務器端堆棧(PHP,Node,ASP.Net,JVM等)都可以抓取網頁。 或者,在某些情況下,您可以使用YQL作為服務器的跨域代理 ,而不是使用自己的服務器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM