NiL*_*iLL 26 javascript node.js
我需要解析一个简单的网页并从html获取数据,例如"src","data-attr"等.如何使用Node.js最有效地完成这项工作?如果它有帮助,我使用的是Node.js 0.8.x.
PS这是我正在解析的网站.我想获得当前曲目的列表,并制作我自己的html5应用程序,以便在移动设备上收听.
JP *_*son 58
我做了很多.如果你正在使用的网站大量使用JavaScript,你会想要使用PhantomJS.请注意,PhantomJS不是Node.js. 这是一个完全不同的JavaScript运行时.你可以通过phantomjs-node或node-phantom进行集成,但它们都有点hacky.YMMV与那些.避免与jsdom有任何关系.这会让你头疼 - 这包括Zombie.js.
你应该使用的是Cheerio和Request.这对于大多数网页来说已经足够了.
我写了一篇关于使用Cheerio的请求:使用Node.js进行快速和脏屏幕刮擦的博客文章但是,如果它是JavaScript密集型,请将 PhantomJS与CasperJS结合使用.
希望这可以帮助.
使用请求和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'));
});
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25383 次 |
| 最近记录: |