如何以编程方式访问Chrome的控制台以执行404响应?

时间:2011-07-13 16:38:41

标签: google-chrome web-scraping

我的最终目标是提供现有网站的工作副本。

我已经使用了httrack这是非常好的,但它不够智能,无法检测深层嵌套的相关资源,例如动态资源和来自js / flash等的资源。

我想基本上编写一个脚本,在Chrome中的Console标签中查找所有404响应,并使用URI从本地下载外部网站中的文件。

例如,假设我得到了这个:

404 http://site.localhost/media/images/blah.png 404 http://site.localhost/media/xml/file.xml

我希望我的脚本循环遍历所有404,并检测HOST是否为'site.localhost',然后运行一个bash命令,从http://actualsite.com/media/images/blah.png WGET资源。

如果有人能够深入了解我如何以编程方式访问控制台的这一部分,以及如何运行bash命令,那么我就设置了。

1 个答案:

答案 0 :(得分:2)

我不知道在页面上使用常规javascript转储控制台内容的方法(如果有的话会非常惊讶)。

您可以编写一个监控页面上所有资源的扩展程序,如果是404,则可以记录日志。当然,使用javascript下载它们是不可能的。

要记录错误的请求,您需要使用experimental API,如下所示:

<强> background.html:

chrome.experimental.webRequest.onCompleted.addListener(function(details) {
    if(details.statusCode == 404) {
        console.log("Broken resource:", details.url);
    }
}, null, ["statusLine", "responseHeaders"]);