mjk*_*fer 3 node.js web-scraping meteor
我正在尝试编写一个擦除流星网页的应用程序.这是相当困难的,因为流星网页最初完全呈现为Javascript.有没有办法用某种刮刀渲染页面?
如果有帮助的话,可能会用节点来做.
谢谢
您可以使用phantomjs来呈现网页.这是一个专门为流星网页设计的示例(来自spiderable),用于捕获HTML:
var fs = require('fs');
var child_process = require('child_process');
console.log('Loading a web page');
var page = require('webpage').create();
page.open("http://localhost:3000", function(status) {
});
var i = 0;
setInterval(function() {
var ready = page.evaluate(function () {
if (typeof Meteor !== 'undefined'
&& typeof(Meteor.status) !== 'undefined'
&& Meteor.status().connected) {
Deps.flush();
return DDP._allSubscriptionsReady();
}
return false;
});
console.log("Ready", ready);
if (ready) {
var out = page.content;
console.log(out);
phantom.exit();
}
}, 100);
Run Code Online (Sandbox Code Playgroud)
这是这种方式,但你可以包装输出并使用require('child_process').exec和捕获它stdin.
您可以运行代码,phantomjs script.js它会返回流星页面的HTML.
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |