最近在学习 alsotang 大神的 《Node.js 包教不包会》,碰到一个问题。比如我要抓取 http://www.cnblogs.com/assassinx/p/4897309.html 的第一条评论,参考 alsotang 的代码,如下:
var cheerio = require('cheerio');
var superagent = require('superagent');
function getFirstComment(url) {
superagent
.get(url)
.end(function(err, sres) {
if (err) {
console.error(err);
}
var $ = cheerio.load(sres.text);
var comment = $('.blog_comment_body').eq(0).text();
console.log(comment)
});
}
getFirstComment('http://www.cnblogs.com/assassinx/p/4897309.html');
但是结果输出的是空白。我个人思考了下,觉得可能是评论区的代码是动态生成的(可能是错的)。
问题来了,这样的情况应该怎么抓取呢?求大大指导~!thanks in advance!
回复 (9)
D
引用 hanzichi@dou4cc 谢谢,有没有推荐的资料?找了好久没找到...
@hanzichi 这里有个比phantomjs更好的,见www.nightmarejs.org,自己看API Doc。
W
phantomjs可以获取渲染之后的页面 自豪地采用 CNodeJS ionic
H
引用 dou4cc@hanzichi 这里有个比phantomjs更好的,见www.nightmarejs.org,自己看API Doc。
@dou4cc 谢谢谢谢,非常感谢!
H
引用 wlpeterphantomjs可以获取渲染之后的页面 自豪地采用 CNodeJS ionic
@wlpeter 谢谢,我看看去
W
你的selector是不是错了, 我记得是'.reply_contnet'啊
你可以clone源码对照啊.
H
引用 wewea你的selector是不是错了, 我记得是'.reply contnet'啊 你可以clone源码对照啊.
@wewea 源码没动态生成...
D
phantomjs
H
引用 dou4ccphantomjs
@dou4cc 谢谢,有没有推荐的资料?找了好久没找到...
W
引用 hanzichi@wewea 源码没动态生成...
@hanzichi 没看清, 以为是抓cnode..
参与回复
登录后即可参与回复。登录