程序员教你通过获取api爬取新浪微博内容数据实战

一、回顾

我们之前利用Scrapy爬取豆瓣网站信息时,直接通过加载目标URL返回的Response得到想要的值。我也在后面爬取知乎网站时通过模拟登录的方式进入到目标URL,也是通过返回的Response得到需要的值。

程序员教你通过获取api爬取新浪微博内容数据实战

这一次,我们将通过解析网站的HTTP请求去**获取数据的API的方式去爬取想要的数据。

二、找出微博用户唯一标示:oid

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

三、找出微博用户的微博内容api

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

我们发现在获取下一页数据时的api加了一个值为2的参数page。继续往下翻页,page变成3、4、5...,由此我们推断这个api获取哪一页的数据由page决定。

四、分析返回的json格式的微博内容

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

五、获取微博内容的代码实现

我们分析完接口之后就可以开始编写爬虫代码。此处附上完整代码。

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

运行结果为:

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战

程序员教你通过获取api爬取新浪微博内容数据实战