Scrapy 爬取新浪微博

Posted chengchengaqin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy 爬取新浪微博相关的知识,希望对你有一定的参考价值。

1 本节目标

本次爬取的日标是新浪微博用户的公开基本信息,如用户昵称、头像、用户的关注、粉丝列表以

及发布的微博等,这些信息抓取之后保存至 MongoDB。

2.如何实现:

以微博的几个大 V为起始点,爬取 他们各内的粉丝和关注列表,然后获取粉丝和关注列表的粉丝和关注列表,以 此类推,这样下去就可 以实现递归爬取。 如果一个用户与其他用户有社交网络上的关联,那他们的信息就会被爬虫抓取到,这样我们就可以做到对所有用户的爬取 。 通过这种方式,我们可以得到用户的唯一 ID, 再根据 ID获 取每个用户发布的微博即可 。

3. 分析

爬取站点是: https://m.weibo.cn,此站点是微博移动端的站点 。 打开该站点会跳转到登录页面,这是因为主页做了登录限制 。 不过我们可以直接打开某个用户详情页面

新浪微博的反爬能力非常强,如果没有登录而直接请求微博的 API接口,这非常容易导致 403状态码。所以在这里我们实现一个 Middleware,为每个 Request添加随机的 Cookies。

微博还有一个反爬措施就是,检测到同一 IP请求量过大时就会出现 414 状态码 。 如果遇到这样的情况可以切换代理。

以上是关于Scrapy 爬取新浪微博的主要内容,如果未能解决你的问题,请参考以下文章

Python爬取新浪微博用户信息及内容

Python爬取新浪微博用户信息及内容

如何通过python调用新浪微博的API来爬取数据

Python爬取新浪微博评论数据,写入csv文件中

Python 超简单爬取新浪微博数据 (高级版)

python网络编程新浪爬虫:关键词搜索爬取微博数据