jsdom在哪里下载资源?
我正在使用 Node.js 和 jsdom 查找并下载页面上的所有 css/js/图像,然后将 url 重写为相对的(如 wget --page-requirements --convert-links)。但我想知道如果 jsdom 已经获取资源,我是否还需要完成所有这些工作。如果我打开 FetchExternalResources,那么 jsdom 会用它们做什么?它们是否存储在内存中可以将它们保存到磁盘的位置?
require('jsdom').defaultDocumentFeatures = {
FetchExternalResources : ['script', 'css', 'link', 'img'],
ProcessExternalResources : true,
MutationEvents : false,
QuerySelector : false
}
I'm working with Node.js and jsdom to find and download all the css/js/images on a page, and then rewrite the urls to be relative (like wget --page-requisites --convert-links). But I'm wondering if I even have to do all that work if jsdom already fetches resources. If I turn on FetchExternalResources, then what does jsdom do with them? Are they stored in memory somewhere that I can save them to disk?
require('jsdom').defaultDocumentFeatures = {
FetchExternalResources : ['script', 'css', 'link', 'img'],
ProcessExternalResources : true,
MutationEvents : false,
QuerySelector : false
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
jsdom 目前仅获取 javascript 并将其保存在内存中。如果您想获取其他资产,则需要添加该功能。例如,您可以:
doc.getElementsByTagName('img')
,循环遍历它们,获取图像并将其存储到磁盘。jsdom currently only fetches javascript and keeps it in memory. If you'd like to fetch other assets you will need to bake in that functionality. You could for instance:
doc.getElementsByTagName('img')
, loop through them, fetch, and store the images to disk.