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-
领取专属 10元无门槛券
私享最新 技术干货