新浪微博的数据但是很是有价值的,你能够拿来数据分析、拿来作网站、甚至是*****。不过不少人因为技术限制,想要使用的时候只能使用复制粘贴这样的笨方法。不要紧,如今就教你们如何批量爬取微博的数据,大大加快数据迁移速度!python
咱们使用到的是第三方做者开发的 爬虫 库 weiboSpider(有 工具 固然要用 工具 啦)。这里默认你们已经装好了Python,若是没有的话能够看咱们以前的文章: Python详细安装指南 。mysql
进入下方的网址,点击Download ZIP下载项目文件nginx
你有git的话能够在cmd/terminal中输入如下命令安装github
git clone https://github.com/dataabc/weiboSpider.git
复制代码
将该项目压缩包解压后,打开你的cmd/Termianl进入该项目目录,输入如下命令:sql
pip install -r requirements.txt
复制代码
便会开始安装项目依赖,等待其安装完成便可。json
打开weibospider文件夹下的weibospider.py文件,将"your cookie"替换成 爬虫 微博的cookie,具体替换位置大约在weibospider.py文件的22行左右。cookie获取方法:vim
而后替换大约在weibospider.py文件的22行左右的cookie,如图所示:cookie
替换前:ide
替换后:
点开你但愿爬取的用户主页,而后查看此时的url:
你会发现有一串数字在连接中,这个就是咱们要用到的userID, 复制便可。
打开 config.json 文件,你会看到以下内容:
{
"user_id_list": ["1669879400"], "filter": 1, "since_date": "2018-01-01", "write_mode": ["csv", "txt"], "pic_download": 1, "video_download": 1, "cookie": "your cookie", "mysql_config": { "host": "localhost", "port": 3306, "user": "root", "password": "123456", "charset": "utf8mb4" } } 复制代码
下面讲解每一个参数的含义与设置方法。
设置user_id_list:user_id_list是咱们要爬取的微博的id,能够是一个,也能够是多个,例如:
"user_id_list": ["1223178222", "1669879400", "1729370543"],
上述代码表明咱们要连续爬取user_id分别为“1223178222”、 “1669879400”、 “1729370543”的三个用户的微博。
user_id_list的值也能够是文件路径,咱们能够把要爬的全部微博用户的user_id都写到txt文件里,而后把文件的位置路径赋值给user_id_list。
在txt文件中,每一个user_id占一行,也能够在user_id后面加注释(可选),如用户昵称等信息,user_id和注释之间必须要有空格,文件名任意,类型为txt,位置位于本程序的同目录下,文件内容示例以下:
1223178222 胡歌 1669879400 迪丽热巴 1729370543 郭碧婷
假如文件叫user_id_list.txt,则user_id_list设置代码为:
"user_id_list": "user_id_list.txt",
若是有须要还能够设置Mysql数据 库 和MongoDB数据 库 写入,若是不设置的话就默认写入到txt和csv文件中。
打开cmd/terminal 进入该项目目录,输入:
python weibospider.py 复制代码
便可开始爬取数据了,怎么样,是否是超级方便?并且你还能够自定义爬取的信息,好比微博的起始时间、是否写入数据 库 ,甚至能在它代码的基础上增长新的功能!(好比加个cookie池或者代理池之类的)