值得借鉴的 23 个 Python 爬虫开源项目

作者: 蒋老师 分类: 不得不荐的资源 发布时间: 2019-09-20 00:16

  网络爬虫是一种按照一定的规则,自动地抓取网络信息的程序或脚本,有时也称网页蜘蛛,大家熟悉的网络搜索引擎都是使用爬虫获取需信息的。因此,能写网络爬虫的程序员是非常受欢迎的。另外,Python 是近年非常受欢迎的一种程序语言,使用 Python 写网络爬虫就更是广受追捧。虽然写爬虫比较简单,而且有不少这方面的书籍,网上也有不少这类教程。但蒋老师认为,有一定基础后,学习已有的开源项目,往往能达到事半功倍的学习效果。

  今天为大家带来的是 23 个 Python 爬虫开源项目。所有项目均来自 GitHub。

  1、WWechatSogou:微信公众号爬虫

  这是一个基于搜狗微信搜索的微信公众号爬虫接口,可以扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。

  项目地址:https://github.com/Chyroc/WechatSogou

  2、DouBanSpider:豆瓣读书爬虫

  DouBanSpider 可以爬下豆瓣读书标签下的所有图书,按评分排名依次存储到 Excel 中,可方便用户筛选,采用 User Agent 伪装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。

  项目地址:https://github.com/lanbing510/DouBanSpider

  3、zhihu_spider:知乎爬虫

  此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用 scrapy,数据存储使用 mongo。

  项目地址:https://github.com/LiuRoy/zhihu_spider

  4、bilibili-user:Bilibili 用户爬虫

  能抓取用户 id、昵称、性别、头像、等级、经验值、粉丝数、生日、地址、注册时间、签名、等级与经验值等,抓取后会生成 B 站的用户数据报告。

  项目地址:https://github.com/airingursb/bilibili-user

  5、SinaSpider:新浪微博爬虫

  主要爬取新浪微博用户的个人信息、微博信息、粉丝和关注。代码获取新浪微博 Cookie 进行登录,可通过多账号登录来防止新浪的反扒。主要使用 scrapy 爬虫框架。

  项目地址:https://github.com/LiuXingMing/SinaSpider

  6、distribute_crawler:小说下载分布式爬虫

  使用 scrapy,Redis, MongoDB,graphite 实现的一个分布式网络爬虫,底层存储 MongoDB 集群,分布式使用 Redis 实现,爬虫状态显示使用 graphite 实现,主要针对一个小说站点。

  项目地址:https://github.com/gnemoug/distribute_crawler

  7、CnkiSpider:中国知网爬虫

  设置检索条件后,执行 src/CnkiSpider.py 抓取数据,抓取数据存储在 /data 目录下,每个数据文件的第一行为字段名称。

  项目地址:https://github.com/yanzhou/CnkiSpider

  8、LianJiaSpider:链家网爬虫

  爬取北京地区链家历年二手房成交记录。涵盖链家爬虫一文的全部代码,包括链家模拟登录代码。

  项目地址:https://github.com/lanbing510/LianJiaSpider

  9、scrapy_jingdong:京东爬虫

  基于 scrapy 的京东网站爬虫,保存格式为 csv。

  项目地址:https://github.com/taizilongxu/scrapy_jingdong

  10、QQ-Groups-Spider:QQ 群爬虫

  批量抓取 QQ 群信息,包括群名称、群号、群人数、群主、群简介等内容,最终生成 XLS(X) / CSV 结果文件。

  项目地址:https://github.com/caspartse/QQ-Groups-Spider

  11、wooyun_public:乌云爬虫

  乌云公开漏洞、知识库爬虫和搜索。全部公开漏洞的列表和每个漏洞的文本内容存在 MongoDB 中,大概约 2G 内容;如果整站爬全部文本和图片作为离线查询,大概需要 10G 空间、2 小时(10M 电信带宽);爬取全部知识库,总共约 500M 空间。漏洞搜索使用了 Flask 作为 web server,bootstrap 作为前端。

  项目地址:https://github.com/hanc00l/wooyun_public

  12、spider:hao123 网站爬虫

  以 hao123 为入口页面,滚动爬取外链,收集网址,并记录网址上的内链和外链数目,记录 title 等信息,windows 7 32 位上测试,目前每 24 个小时,可收集数据为 10 万左右

  项目地址:https://github.com/simapple/spider

  13、findtrip:机票爬虫(去哪儿和携程网)

  Findtrip 是一个基于 Scrapy 的机票爬虫,目前整合了国内两大机票网站(去哪儿 + 携程)。

  项目地址:https://github.com/fankcoder/findtrip

  14、163spider:基于 requests、MySQLdb、torndb 的网易客户端内容爬虫

  项目地址:https://github.com/leyle/163spider

  15、doubanspiders:豆瓣电影、书籍、小组、相册、东西等爬虫集

  项目地址:https://github.com/fanpei91/doubanspiders

  16、QQSpider:QQ 空间爬虫

  包括日志、说说、个人信息等,一天可抓取 400 万条数据。

  项目地址:https://github.com/LiuXingMing/QQSpider

  17、baidu-music-spider: 百度 mp3 全站爬虫,使用 redis 支持断点续传。

  项目地址:https://github.com/Shu-Ji/baidu-music-spider

  18、tbcrawler:淘宝和天猫的爬虫,可以根据搜索关键词,物品 id 来抓去页面的信息,数据存储在 mongodb。

  项目地址:https://github.com/pakoo/tbcrawler

  19、stockholm:一个股票数据(沪深)爬虫和选股策略测试框架。根据选定的日期范围抓取所有沪深两市股票的行情数据。支持使用表达式定义选股策略。支持多线程处理。保存数据到 JSON 文件、CSV 文件。

  项目地址:https://github.com/benitoro/stockholm

  20、BaiduyunSpider:百度云盘爬虫

  项目地址:https://github.com/k1995/BaiduyunSpider

  21、Spider:社交数据爬虫

  支持微博,知乎,豆瓣。

  项目地址:https://github.com/Qutan/Spider

  22、proxy pool:Python 爬虫代理 IP 池(proxy pool)

  项目地址:https://github.com/jhao104/proxy_pool

  23、music-163:爬取网易云音乐所有歌曲的评论

  项目地址:https://github.com/RitterHou/music-163