豆瓣小组地址: http://www.douban.com/group/ (采用 request、http.get全部是403错误) (ALL)具体小组地址: http://www.douban.com/group/小组ID/ 例如:分页地址 http://www.douban.com/group/kaopulove/discussion?start=数字(采用 request、http.get,还是TM403错误) 该小组下的具体主题地址: http://www.douban.com/group/topic/54905582/(采用 request、http.get,吐血还是403错误)
大伙有没有相应的解决方案呢?demo 等等之类的,这TM的全是403错,这是为毛呢!! 电影的那个爬虫我看过了,测试了是可以爬的。为毛小组爬不了呢? 我也看了不少Python写的爬虫都有爬小组的。为毛nodeJS不行呢?
采用 request.get({url:‘http://www.’,headers:{‘User-Agent’: ‘request’},funaction(err,req,data){})
那怕是取页面里的一个字符,也要下载整个页面
懂前端的人都知道,dom树没构建之前,不可能用jquery去取元素,唯一的办法就是用正则表达式
兄台,能否讲明白点呢,是指用正则表达式可以做到吗?
抓取响应方法啊 思路大概是 status==‘200’ 握手握到一半就END就行了。 .on事件。
var jsonreq = http.request(opt, function (serverFeedback) {
if (serverFeedback.statusCode == 200) {
var x='';
serverFeedback.setEncoding('utf8');
serverFeedback.on('data',function(data){x += data;});
serverFeedback.on('end',function(){req.session.json=JSON.parse(x);eval(point)});
}
else {
req.session.json='error';
}
});
jsonreq.write(data);
jsonreq.end();
}
拿这个拆吧
怎么解决的?
常规的解决,模拟用户登录 在请求头部中加东西headers:{‘User-Agent’: ‘request’} request.get({url:‘http://www.’,headers:{‘User-Agent’: ‘request’},funaction(err,req,data){})
已经解决,谢谢。
为何不直接通过API爬,这样还要处理dom多麻烦
豆瓣小组有API吗?
@nihgwu 关键在于要取小组内主题页面里面的内容。而不是小组标签,目前豆瓣有提供这个API接口?
@heixiaoshan 我只是提供了一个无关痛痒的api举个例子而已,其它的接口显然都有
@nihgwu 话说你在哪里找到的。我都没有找到。去官方看了。居然没有小组的API