gpt4 book ai didi

javascript - 如何使用 Node.js 最有效地解析网页

转载 作者:IT老高 更新时间:2023-10-28 22:01:46 26 4
gpt4 key购买 nike

我需要解析一个简单的网页并从 html 中获取数据,例如“src”、“data-attr”等。如何使用 Node.js 最有效地做到这一点?如果有帮助,我正在使用 Node.js 0.8.x。

附:这是site我在解析。我想获取当前轨道列表并制作自己的 html5 应用程序以在移动设备上收听。

最佳答案

我已经做了很多。你会想要使用 PhantomJS如果您正在抓取的网站大量使用 JavaScript。请注意,PhantomJS 不是 Node.js。这是一个完全不同的 JavaScript 运行时。您可以通过phantomjs-node 进行整合或 node-phantom ,但他们都有点hacky。 YMMV 与那些。避免与 jsdom 有任何关系。它会让你头疼 - 这包括 Zombie.js .

你应该使用Cheerio结合 Request .这对于大多数网页来说已经足够了。

我写了一篇关于在请求中使用 Cheerio 的博文:Quick and Dirty Screen Scraping with Node.js但是,如果它是 JavaScript 密集型的,请将 PhantomJS 与 CasperJS 结合使用。 .

希望这会有所帮助。

使用 Request 和 Cheerio 的片段:

var request = require('request')
, cheerio = require('cheerio');

var searchTerm = 'screen+scraping';
var url = 'http://www.bing.com/search?q=' + searchTerm;

request(url, function(err, resp, body){
$ = cheerio.load(body);
links = $('.sb_tlst h3 a'); //use your CSS selector here
$(links).each(function(i, link){
console.log($(link).text() + ':\n ' + $(link).attr('href'));
});
});

关于javascript - 如何使用 Node.js 最有效地解析网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12403833/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com