2011-08-31 91 views
0

我使用的是Node.js和jsdom努力寻找和下载页面上的所有的CSS/JS /图像,然后重写URL可相(像wget --page必备条件 - 转换链接)。但是我想知道,如果jsdom已经获取资源,我是否还需要做所有这些工作。如果我打开FetchExternalResources,那么jsdom对它们做了什么?它们是否存储在内存中,我可以将它们保存到磁盘?jsdom下载资源在哪里?

require('jsdom').defaultDocumentFeatures = { 
    FetchExternalResources : ['script', 'css', 'link', 'img'], 
    ProcessExternalResources : true, 
    MutationEvents   : false, 
    QuerySelector   : false 
} 

回答

1

jsdom目前只提取javascript并将其保存在内存中。如果您想获取其他资源,则需要使用该功能进行烘焙。例如,您可以:doc.getElementsByTagName('img'),遍历它们,获取并将图像存储到磁盘。

+0

是啊,这是我在做什么目前。与http-get相当微不足道。但我希望jsdom已经有了一个捷径。以防万一我错过了一些内联CSS或类似的背景图像。谢谢你的清晰! – 12vunion