【问题标题】:Creating a chrome extension to grab all page HTML创建一个 chrome 扩展来获取所有页面 HTML
【发布时间】:2016-07-14 14:08:04
【问题描述】:

我正在尝试创建一个 chrome 扩展程序来获取所有网站数据。在教程中,它经常谈到“修改”一个页面,但它似乎巧妙地暗示你无法获得整个页面。

我找到了一个chrome API,即pageCapture,它允许保存页面中的所有资源。我认为这意味着我可以找到 html 并在之后对其进行爬网 - 这是不可取的,因为这样做需要更多的空间和开销。

如果有某种方法可以抓取活动标签,我会更喜欢。 The tab API 允许您获取当前选项卡,但当前选项卡似乎没有内容属性。

必须有更好的方法来做到这一点。有人知道如何获取当前页面的 HTML 吗?

【问题讨论】:

标签: javascript google-chrome google-chrome-extension


【解决方案1】:

我认为这个答案会对您有所帮助: Loading html into page element (chrome extension)

我有另一个解决方案可能会对您有所帮助,因此如果您愿意,可以将网站保存在 chrome 书签中,然后使用以下方法获取所有数据:

var uploadUrls_bm_urls ='';
var uploadUrls_temp = '';
var maxUrls = "1000";

/* Fetch all user bookmark from browser  */
/* @param object parentNode - the parent node of bookmark tree */

function fetch_bookmarks(parentNode) {
    parentNode.forEach(function(bookmark) {
        if(! (bookmark.url === undefined || bookmark.url === null)) {
            uploadUrls_bm_urls = uploadUrls_bm_urls + '"' +  bookmark.url + '",';
            if(uploadUrls_bm_urls.length <= maxUrls )
              uploadUrls_temp = uploadUrls_bm_urls;
        }
        if (bookmark.children) {
            fetch_bookmarks(bookmark.children);
        }
    });
}

然后您可以遍历所有 url 并使用上面链接中的“加载”功能(Loading html into page element (chrome extension) )。

如果这对你有帮助,请告诉我。

谢谢

【讨论】:

    猜你喜欢
    • 2012-06-18
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多