zhouchanglin 发表于 2012-3-3 10:17:27

【原创】网易新闻评论 最新采集方法(接口)

本帖最后由 zhouchanglin 于 2012-12-20 18:45 编辑

网易新闻评论内容的采集是比较复杂的,因为全部是js控制 数据传输,新闻页还好,可以直接看到新闻标题和新闻内容,但是评论页的url 以及评论数据,却是无法通过查看源码直接看到的,网易的这个地方用了相当多的js,我也没有精力和实力仔细分析它的js代码,用了1个简单快捷的方法:filldder抓包工具去抓取评论的相关信息:评论url,评论数据url,从而找出评论url的规律,利用源码构成评论数据获取必要的相关信息。

下面是一个具体的采集过程示例:
新闻页:http://news.163.com/12/0301/14/7RH36T1800011229.html
从新闻页可知评论页:http://comment.news.163.com/news_shehui7_bbs/7RH36T1800011229.html

从评论页点击评论第2页,抓包抓取到的信息如下图:


打开抓取到的url:http://comment.news.163.com/data/news_shehui7_bbs/df/7RH36T1800011229_2.html,返回的数据就是评论数据,从而可以大致估计评论数据页url与新闻页url的相同与不同,了解了url格式,那么只要能够构造出评论数据url,那么似乎就能够采集到评论数据了。

评论数据页返回代码(我简化了):var replyData={"prcount":0,"ischeck":1,"hotPosts":[热门评论:{ "1":{"f"   } ....n个楼层评论(只是1个评论)...},...n个格式相同的评论...],"newPosts":[{"最新评论:同热门评论格式],..."tcount":评论数....采集难点有以下几处:
1.评论页数如何确定?
办法:php接口获取评论总数,根据每页评论数30,确定页数,根据评论数据url格式,生成评论分页html,以便火车头识别采集

2.评论数据是josn格式的,而且有时评论是有楼层的,路:,返回的josn数据路过用火车头直接循环采集评论,那肯定是错误的,因为是1个评论,有时是有楼层的,最高楼层才是此人的评论,这时也是需要接口去处理下这个格式,即提取出每个评论的最高楼层的评论,这样就得到整洁的评论数据了。



针对网易的评论我做了下它的评论接口,测试可以达到预期的效果,适用板块:所有新闻板块

接口测试效果:






现在有一点不确定的是评论数据页url中 /df/ 是否会出现变化,我测试了都可以,路过有变化那么可能会出错或需要修改接口。

路过您需要采集网易评论,可以联系我972130397

hohoqi 发表于 2012-3-4 09:07:30

超版的帖子,必读哈 {:4_189:}

yangsap 发表于 2012-3-4 13:35:15

我先看下哈                              

gzq598 发表于 2012-3-4 23:23:04

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

xiwood 发表于 2012-3-6 13:54:19

怎么使用接口呢?

孤独天空 发表于 2012-3-7 23:46:10

简单快捷的方法:ali10ls

zhoukay 发表于 2012-3-8 21:24:45

学习了。呵呵。。。。。。。。

butter15 发表于 2012-3-8 22:00:22

支持下!!!!!!!!!1

huigeyi 发表于 2012-3-10 19:56:05

hhhhhhhhhhhhhhhhhhhhhhhhhh

mmgx 发表于 2012-3-10 23:39:08

:lol                                    学习一下
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【原创】网易新闻评论 最新采集方法(接口)