jsdom在哪里下载资源?

发布于 2024-12-02 12:26:30 字数 458 浏览 1 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黯然#的苍凉 2024-12-09 12:26:30

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文