使用基于浏览器的模板引擎从网站中删除数据

试图从浏览器中使用大量JS的页面中取消数据。 而当用jsdom播放无法获得任何数据,也许页面没有足够的时间来加载或渲染。 在这种情况下如何报废数据:使用计时器或按要求下载所有页面

jsdom.env({ url: link, scripts: ["http://code.jquery.com/jquery.js"], done: function (errors, window) { var $ = window.$; var date = $('.date').text(); console.log(date); } }); 

我的一个同事有一个基于PhantomJS的项目: https : //github.com/vmeurisse/phantomCrawl 。

他有一个简单的例子,看起来很像你的片段:

 'use strict'; var PhantomCrawl = require('./src/PhantomCrawl'); var urls = []; urls.push('http://www.bing.com'); var ptc = new PhantomCrawl({ urls: urls, nbThreads: 4, crawlerPerThread: 4, maxDepth: 1 }); 

urls是要抓取的url列表。

nbThreads是PhantomJS启动的实例数量。

crawlerPerThread是每个PhantomJS实例并行爬网的页数。

maxDepth是当前爬行页面跟在页面中的链接的次数。