我的最终目标是提供现有网站的工作副本。
我已经使用了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命令,那么我就设置了。
答案 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"]);