多进程异步爬取新浪微博下的用户信息及微博,希望大家批评指导!
多进程抓取和存储信息,通过python begin.py启动.主要模块如下:
使用gevent异步获取cookie,并加入了云打码识别验证码. 账号需在conf.py下配置,抓取结果存入mongodb。
多线程抓取微博,用户以及待爬url信息.在各个线程中加入gevent爬取相应信息.
多线程存储微博和用户信息.
添加了对图片,音乐,文章以及全部等分类微博的爬取。
python begin.py -t 分类名(tag),分类名可以为:['all', 'video', 'pic', 'music', 'article', '全部', '视频', '图片', '音乐', '文章' ]
接下来会增加对关注者和粉丝信息及微博进行爬取的功能!
Windows python2.7
以下库可以通过pip下载
- requests 请求URL并获取响应
- bs4 解析响应
- gevent 异步
- pymongo 操作mongo数据库
下载压缩包解压,切换到该文件夹下,在config.py中的users中加入要爬取的账号(name为用户名,pwd为密码),python begin.py即可
开始爬取,爬取期间需要自己输入验证码.
使用多进程加异步的方式爬取微博
因为是爬取个人账号相应标签下(eg: 视频)的微博,所以需要登录。在cookie.py中采取异步获取cookie.
在video_spider.py中主要对视频页面进行异步下载和解析.
在video_store.py中将爬取到的视频信息保存至mongo中.
本爬虫只是用于个人的学习,希望大家可以多多指导改进.