Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 木偶演员:如何下载整个网页供离线使用_Javascript_Html_Css_Web Scraping_Puppeteer - Fatal编程技术网

Javascript 木偶演员:如何下载整个网页供离线使用

Javascript 木偶演员:如何下载整个网页供离线使用,javascript,html,css,web-scraping,puppeteer,Javascript,Html,Css,Web Scraping,Puppeteer,我怎样才能用谷歌的木偶程序,在所有CSS/JavaScript/媒体都完好无损(而不仅仅是HTML)的情况下,刮掉整个网站呢?在其他刮削工作中成功试用后,我想它应该能够 然而,通过在线查看许多优秀的示例,没有明显的方法可以做到这一点。我能找到的最接近的是打电话 html_contents = await page.content() 和保存结果,但这会保存一个没有任何非HTML元素的副本 有没有办法保存网页以供Puppeter离线使用?目前可以通过实验性CDP调用使用以下格式: “严格使用”;

我怎样才能用谷歌的木偶程序,在所有CSS/JavaScript/媒体都完好无损(而不仅仅是HTML)的情况下,刮掉整个网站呢?在其他刮削工作中成功试用后,我想它应该能够

然而,通过在线查看许多优秀的示例,没有明显的方法可以做到这一点。我能找到的最接近的是打电话

html_contents = await page.content()
和保存结果,但这会保存一个没有任何非HTML元素的副本


有没有办法保存网页以供Puppeter离线使用?

目前可以通过实验性CDP调用使用以下格式:

“严格使用”;
const puppeter=require('puppeter');
常数fs=要求('fs');
(异步函数main(){
试一试{
const browser=wait puppeter.launch();
const[page]=wait browser.pages();
等待页面。转到('https://en.wikipedia.org/wiki/MHTML');
const cdp=wait page.target().createCDPSession();
const{data}=wait cdp.send('Page.capturesnashot',{format:'mhtml'});
fs.writeFileSync('page.mhtml',数据);
等待浏览器关闭();
}捕捉(错误){
控制台错误(err);
}
})();

Puppeter无法很好地实现这一点。。这让我很惊讶,因为我想不出一个好的理由来解释为什么他们不实施这一点。“无论如何,我希望有人在这种情况下做了第三方的扩展。”hardkoded有一个实验性的方法,见下面的答案。嗨,Coolio。请不要(重新)在问题中添加对话材料。一般来说,这里的读者更喜欢技术性的写作方法,因为简洁被认为可以增加清晰度。感谢是由读者承担的,最好是通过向上投票/接受来表达。我不同意这种说法,因为写作显然需要一点轻松的接触,但你是mod,这很公平。我会等一等,看看是否有人成功地制作了一个道具,将网站完美地保存下来供离线使用,但在此之前,谢谢你明确的例子。有没有关于captureSnapshot的开发量的消息?正如你自己暗示的,它缺少很多功能,虽然比原始html拷贝稍微好一点。对不起,我不知道细节。如果这种格式足够,这取决于使用结果的需要。