码迷,mamicode.com
首页 > 其他好文 > 详细

Scrapy 爬取新浪微博

时间:2018-10-19 11:50:02      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:war   主页   头像   mongo   爬取   登录   其他   状态码   代理   

1 本节目标

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

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

2.如何实现:

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

3. 分析

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

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

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

Scrapy 爬取新浪微博

标签:war   主页   头像   mongo   爬取   登录   其他   状态码   代理   

原文地址:https://www.cnblogs.com/chengchengaqin/p/9814940.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!