1、在你的爬虫开始运行时,该大v的所有微博发布量没有超过回溯查询的上限,新浪是2000,twitter是3200。
2、爬虫程序必须不间断运行。
新浪微博的api基本完全照搬twitter,其中接口的参数特性与底层的NoSQL密不可分,建议先看点Nosql数据库的设计理念有助于更好的理解api设计。
一般来说,如果决定爬某个大v,第一步先试获取该用户的基本信息,中间会包含一条最新的status,记下其中的id号作为基准,命名为baseId。
接口中最重要的两个参数:
since_id:返回ID比since_id大的微博(即比since_id时间晚的微博),默认为0。
max_id:返回ID小于或等于max_id的微博,默认为0。
出于各种原因,获取statuses的接口,固定为按id降序排列(scan_index_forward=false),即最新的statuses返回在前。假设该微博第一天上线,就一个用户,发了一百条,id是1到100。而你在该用户发了第50条的时候开始运行的爬虫,即baseId=50。
首先确定需要爬取的数据,达到爬取一页数据的要求;
然后通过审视元素来确定每一页是按照什么标准来分页的,达到爬取多页数据的要求;
比如第一篇显示为login1.html,第二篇显示为login2.html 第三篇显示为login3.html找到网站每一篇的规律,然后循环抓取数据。
第一页链接为:ye1.html,第二页链接为ye2.html。找到规律循环抓取。
以下是一个抓取博客内容的实例
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)