1. 首先来看看最后我们得到的是什么结果,是不是你想要了解的东西,再决定是否往下读。
我主要抓取了大概4天的数据,图上可以看的出来大概有360万条数据,由于是在自己的电脑上爬取做数据的,有时候晚上断网了就间断了,所以大概一天可以爬取有100万左右的最新微博数据(因为我调用的是最新的微博APIpublic_timeline)
API文档当中定义了很多返回的类型(以json数据格式返回,我选取了一些我认为重要的信息抓取下来_如图所示_: 大概有id号,所在位置,粉丝数,发的微博内容,发微博的时间等等。 当然这些数据都可以根据自己的需要进行定制。)
2. 前期准备
我们需要的东西:
数据库: mongodb(可以使用客户端MongoBooster)
开发环境: Python2.7(我用的IDE是Pycharm)
一个新浪开发者账号: 用自己的新浪微博账号注册就行(后面会讲)
需要的库:requests和pymongo(这些都可以在Pycharm中下载)
2.1 mongodb的安装
MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。Mongo的官方网站地址是:http://www.mongodb.org/,读者可以在此获得更详细的信息。
2.2 新浪开发者账号的注册方法
注册新浪微博账号(163邮箱、手机号)
创建完毕需要填写手机号验证
进入新浪开放者平台:http://open.weibo.com/
点击继续创建
初次创建应用需要填写如下信息:
代码实现
有了token之后,实现抓取数据就十分简单了
能抓取数据的多少就取决于你的token权限了
接下来就是利用API来获取数据了:新建一个文件weibo_run.py