新浪微博评论爬虫小DEMO

微博模拟登陆(用户手动输入):
(1) POST代理
(2) COOKIE登陆
http://www.cnblogs.com/EmilySun/p/6158147.html
Chrome浏览器打开m.weibo.cn,右键点击检查-> Network->XHR 复制cookie

要爬取的评论网页URL(用户手动输入)
新浪微博评论爬虫小DEMO_第1张图片
Url rnd1487914749536”>http://weibo.com/2033175114/EwQWIk54D?refer_flag=1001030106&c=spr_sinamkt_buy_kuping_weibo_t108&type=comment#_rnd1487914749536

获取该微博的唯一标识RID(getRid函数):
在网页源代码中可以查看到rid=4078300244786067
这里写图片描述

查看评论列表的Ajax接口(因评论列表是动态加载)
新浪微博评论爬虫小DEMO_第2张图片
可以看到Headers的Request URL:
http://weibo.com/aj/v6/comment/big?ajwvr=6&id=4078300244786067&filter=all&from=singleWeiBo&__rnd=1487916628638
通过对每页的url进行分析发现实际上格式应该是:
http://weibo.com/aj/v6/comment/big?ajwvr=6&id=4078300244786067&filter=all&page=1

'http://weibo.com/aj/v6/comment/big?ajwvr=6&id=%s&filter=all&page=%d' % (rid,i)

Filter=all 是获取全部的评论
Filter=hot是获取热门的评论
Request URL打开是一个json格式的网页,关键字有:
code
msg
data:{‘html’,’page’,’count’}
其中html里存储了评论内容、评论时间,count存储了评论个数,page存储了总的评论页数

获取评论(getCommentPages函数)
根据rid和page,可以获得每页的评论内容,用re稍微处理后即可保存在本地中

你可能感兴趣的:(python)