zoukankan      html  css  js  c++  java
  • Scrapy 爬取新浪微博

    1 本节目标

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

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

    2.如何实现:

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

    3. 分析

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

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

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

    Github:https://github.com/chengchenga/weibopaqu/commit/832973f5832924207294ef3b4e1258c864226bb3

  • 相关阅读:
    协程方法的开启、关闭以及传参
    五种访问修饰符
    多态之虚方法、抽象类、接口
    递归算法
    继承之构造方法
    鼠标相关操作(Cursor类及相关API)
    遇到的问题(七)
    遇见的问题(六)
    遇见的问题(五)
    函数VS对象
  • 原文地址:https://www.cnblogs.com/chengchengaqin/p/9814940.html
Copyright © 2011-2022 走看看