Skip to content

Latest commit

 

History

History
96 lines (63 loc) · 3.26 KB

README.md

File metadata and controls

96 lines (63 loc) · 3.26 KB

WeiboSpider

This is a sina weibo spider built by scrapy

这是一个持续维护的微博爬虫开源项目,有任何问题请开issue

更多关于微博爬虫的介绍请移步:微博爬虫总结:构建单机千万级别的微博爬虫系统

项目说明

该项目分为3个分支,以满足不同的需要

分支 特点 单机每日抓取量
simple 单账号 十万级
master 账号池 百万级
senior 账号池+分布式 千万级+

该项目爬取的数据字段说明,请移步:数据字段说明与示例

已经在senior分支的基础上新增了search分支,用于微博关键词搜索

update

如何使用

下面是master分支,也就是构建单机百万级的爬虫

如果你只想用你自己的一个账号简单爬取微博,每日十万级即可,请移步simple分支

如果你需要大规模爬取微博,需要单机千万级别,请移步senior分支

克隆本项目 && 安装依赖

本项目Python版本为Python3.6

git clone [email protected]:nghuyong/WeiboSpider.git
cd WeiboSpider
pip install -r requirements.txt

除此之外,还需要安装mongodb和phantomjs,这个自行Google把

购买账号

小号购买地址(访问需要翻墙): http://www.xiaohao.shop/

购买普通国内手机号注册的小号即可

购买越多,sina/settings.py 中的延迟就可以越低,并发也就可以越大

将购买的账号复制到sina/account_build/account.txt中,格式与account_sample.txt保持一致

构建账号池

python sina/account_build/login.py

运行截图:

这是你的mongodb中将多一个账号表,如下所示:

运行爬虫

scrapy crawl weibo_spider 

运行截图:

导入pycharm后,也可以直接执行sina/spider/weibo_spider.py

该爬虫是示例爬虫,将爬取 人民日报 和 新华视点 的 用户信息,全部微博,每条微博的评论,还有用户关系。

可以根据你的实际需求改写示例爬虫。

速度说明

一个页面可以抓取10则微博数据

下表是我的配置情况和速度测试结果

爬虫配置 配置值
账号池大小 200+
CONCURRENT_REQUESTS 16
DOWNLOAD_DELAY 0.1s
每分钟抓取网页量 250+
每分钟抓取数据量 2500+
总体一天抓取数据量 360万+

实际速度和你自己电脑的网速/CPU/内存有很大关系。