尝试让jsdom(node.js模块)在Windows上运行。 继续抱怨没有为我的节点版本构建。
在linux机器上安装了节点(相同版本,0.5.9,来自源代码),节点对其进行了操作。 然后我将它复制到Windows机器(在node_modules下)
仍然没有......
有什么想法吗?或解析HTML的其他建议我从对节点的请求的响应得到了什么?
通过jsdom使用jquery会很好。
干杯。
答案 0 :(得分:2)
我很遗憾地说jsdom(> = 0.2.3)目前需要一个c ++插件,它不能与windows配合使用。我认为你最好的选择是尝试安装jsdom@0.2.1并解决因在jsdom窗口的上下文中执行javascript而导致的内存泄漏。
解决方法包括:
document.body.innerHTML = '..new markup..';
目的是摆脱c ++插件,但不幸的是,目前不可能这样做。
答案 1 :(得分:1)
如果node.js不是绝对必须的,请查看我们的同事SO-ist @nrabinowitz的pjscrape。经过测试和验证。
此外,node-scraper似乎是适合您工作的工具,有222名观察员和11名叉子,它似乎也非常活跃。可以在readme或right here on SO中找到用例。
答案 2 :(得分:0)
我不确定你要做什么,但node.io has a scraping framework可能符合要求。
答案 3 :(得分:0)
我刚刚玩了node.js模块 Cheerio ,并与jsdom比较,它是:
http://matthewmueller.github.com/cheerio/
刮痧示例:
var request = require('request'),
cheerio = require('cheerio');
request('http://encosia.com', function(error, response, body) {
// Hand the HTML response off to Cheerio and assign that to
// a local $ variable to provide familiar jQuery syntax.
var $ = cheerio.load(body);
// Exactly the same code that we used in the browser before:
$('h2').each(function() {
console.log($(this).text());
});
});