Python爬虫日记第十天之微博-分析篇

Python爬虫日记第十天之微博-分析篇

前两天讲了讲如何

爬取微信公众号文章

,这次准备根据我的经验来详细的讲解一下微博数据的获取

目前中国网民规模已经达到了8亿多,而微博在2018上半年统计微博月活跃用户数已经增至4.31亿之多,所以说在很多人眼里微博就是一块巨大的肥肉,从微博上获取的大量数据可以用于很多研究、数据分析等(当然通过采集之后,也能发现微博用户中有比较多的僵尸号之类)

更深了说你可以通过对一个微博用户的微博、基本信息等数据的分析而进一步监测该用户的日常

那么在如何获取这些数据之前,有一个问题

从哪儿获取这么多的数据

一、微博官网

https://weibo.com/

就是大家常见的微博网站

二、微博m站

https://m.weibo.cn/

就是手机版页面

三、微博wap站

https://weibo.cn/

虽然在表现形式上,wap网站要弱于一般的网站,对于图片、动画等表现力度不够,但麻雀虽小,五脏俱全 --百度百科

四、微博APP

这哔暂时不考虑

当然你可尝试对微博客户端进行抓包获取数据

有这么多可以获取数据的来源,该挑哪个下手呢?

问得好敖~

我们一个一个来看

首先

对于微博官网,信息相对来说最全面,可以通过搜索接口找到微博用户;但是注意请求需要带上 cookie ,而且访问过于频繁会出现验证码,无法绕开,对此只能识别验证码来继续访问

而识别验证码,要么通过打码平台来识别,要么自己训练一个验证码识别模型;第一种方便快捷,识别验证码成功的概率也有保证,缺点是成本高;第二种方法需要耗费一定时间去训练这个模型,周期较长

而我就果断选择了第一种通过打码平台的方法试了试;验证码识别程度很高,也搭进去了50多RMB,总之你有钱还是可以接受的

其次

对于m站,令人惊喜的是m站返回的数据是json格式的,所以通过response.json()简单转化一下就可以取得数据;但是数据有限,有的用户信息拿不到,而且访问过快虽然不会出现验证码,但是会出现“访问过快,请稍后访问”的情况,然后也无法继续获取数据,针对这一点我没有添加随机代理尝试过

所以说爬取 m站,对于速度以及数据量会有一定的限制

第三

对于wap站,真是应了那句,麻雀虽小五脏俱全

该有的数据基本上都有,而且没有验证码,但是访问过快会封你的账号,但是不会封 IP

这就是说只要你有足够的账号,构建一个账号池的情况下就可以快速的获取微博数据了!

总结一下推荐大家通过微博的wap站来获取数据,因为它的反爬力度相对较小;说了这么多,要想快速的获取大量微博数据好像不交点钱是不行的...

小编就买了200个微博小号,构建了一个简单的账号池,然后...

欲知详情,请听下回微博--实战篇

对以上内容有疑问的欢迎指出~

-END-

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181121G21I4800?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券