Python中大的爬虫框架有scrapy(风格相似django),pyspider(国产python爬虫框架)。
除了Python,Java中也有许多爬虫框架。html
nutch
apache下的开源爬虫程序,功能丰富,文档完整,有数据抓取解析以及存储的模块。
它的特色是规模大。前端
heritrix
比较成熟
地址:internetarchive/heritrix3 · GitHub很早就有了,经历过不少次更新,使用的人比较多,功能齐全,文档完整,网上的资料也多。有本身的web管理控制台,包含了一个HTTP 服务器。操做者能够经过选择Crawler命令来操做控制台。python
crawler4j
UCI大学(加利福尼亚欧文分校)出品,简洁,古老,结构清晰react
webmagic
国产,借鉴了scrapy,有pipeline,功能比较简单。Request也有meta属性,meta属性是一个字典,meta属性的value是Object类型。git
webcollector
webcollector也是国人出品,做者工做单位是合肥工业大学。
webcollector是crawler4j的压缩版,crawler4j把不一样功能的类分开放置,webcollector使得只须要一个类便可。
webcollector一个突出的改进点是,它给每个请求打了一个标签,从而便于回调处理。github
SeimiCrawler
Seimi意思是“清美”,国产,该库是本文所列库里面最新的一个库,设计上深受scrapy影响,依赖不少外部包,依托spring,遵循约定大于配置的原则。
该库设计上支持分布式,使用redis实现爬虫之间任务共享,使用JSON格式的请求来定义Request,从而可让爬虫之间共享Request。它的Request也有meta属性,meta属性是一个字典,可是meta属性的value只能是String,这是为了迎合分布式,便于经过JSON格式传输Request对象。
SeimiCrawler的Request跟scrapy的Request是最类似的,由于scrapy中的Request能够指明回调函数,这一点是很是经常使用的。SeimiCrawler中Request回调函数是字符串形式的函数名,以反射的形式来调用函数对象,避免了使用Handler形式的类。
seimi库中也大量使用注解。web
JSpider
此库看上去快要死了redis
gecco
国产,此库看上去也很新,形式上与seimi最像,整合了jsoup、fastjson/spring、htmlunit、httpclient
支持注解的方式声明要爬取的字段,从而直接获取爬取结果。
看上去很装逼的一个库,它大量使用注解,很是不灵活。大量使用fluent编程方式,不够清晰,官网例子过于单薄。
做者不是在写库,而是在炫技。
这是一个反人类的库。相似tensorflow,先构图,后运行。此库须要先把规则说清楚,而后才会执行。spring
spidermanmongodb
神箭手爬虫
一个网站,以卖爬到的数据为生
https%3A//github.com/ShenJianShou/samples
网络上看到的(通常都是github上的):
WechatSogou [1]- 微信公众号爬虫。基于搜狗微信搜索的微信公众号爬虫接口,能够扩展成基于搜狗搜索的爬虫,返回结果是列表,每一项均是公众号具体信息字典。
DouBanSpider [2]- 豆瓣读书爬虫。能够爬下豆瓣读书标签下的全部图书,按评分排名依次存储,存储到Excel中,可方便你们筛选搜罗,好比筛选评价人数>1000的高分书籍;可依据不一样的主题存储到Excel不一样的Sheet ,采用User Agent假装为浏览器进行爬取,并加入随机延时来更好的模仿浏览器行为,避免爬虫被封。
zhihu_spider [3]- 知乎爬虫。此项目的功能是爬取知乎用户信息以及人际拓扑关系,爬虫框架使用scrapy,数据存储使用mongo
bilibili-user [4]- Bilibili用户爬虫。总数据数:20119918,抓取字段:用户id,昵称,性别,头像,等级,经验值,粉丝数,生日,地址,注册时间,签名,等级与经验值等。抓取以后生成B站用户数据报告。
SinaSpider [5]- 新浪微博爬虫。主要爬取新浪微博用户的我的信息、微博信息、粉丝和关注。代码获取新浪微博Cookie进行登陆,可经过多帐号登陆来防止新浪的反扒。主要使用 scrapy 爬虫框架。
distribute_crawler [6]- 小说下载分布式爬虫。使用scrapy,Redis,
MongoDB,graphite实现的一个分布式网络爬虫,底层存储mongodb集群,分布式使用redis实现,爬虫状态显示使用graphite实现,主要针对一个小说站点。
CnkiSpider [7]- 中国知网爬虫。设置检索条件后,执行src/CnkiSpider.py抓取数据,抓取数据存储在/data目录下,每一个数据文件的第一行为字段名称。
LianJiaSpider [8]- 链家网爬虫。爬取北京地区链家历年二手房成交记录。涵盖链家爬虫一文的所有代码,包括链家模拟登陆代码。
scrapy_jingdong [9]- 京东爬虫。基于scrapy的京东网站爬虫,保存格式为csv。
QQ-Groups-Spider [10]- QQ 群爬虫。批量抓取 QQ 群信息,包括群名称、群号、群人数、群主、群简介等内容,最终生成 XLS(X) / CSV 结果文件。
wooyun_public[11]-乌云爬虫。 乌云公开漏洞、知识库爬虫和搜索。所有公开漏洞的列表和每一个漏洞的文本内容存在mongodb中,大概约2G内容;若是整站爬所有文本和图片做为离线查询,大概须要10G空间、2小时(10M电信带宽);爬取所有知识库,总共约500M空间。漏洞搜索使用了Flask做为web server,bootstrap做为前端。
QunarSpider [12]- 去哪儿网爬虫。 网络爬虫之Selenium使用代理登录:爬取去哪儿网站,使用selenium模拟浏览器登录,获取翻页操做。代理能够存入一个文件,程序读取并使用。支持多进程抓取。
findtrip [13]- 机票爬虫(去哪儿和携程网)。Findtrip是一个基于Scrapy的机票爬虫,目前整合了国内两大机票网站(去哪儿 + 携程)。
163spider [14] - 基于requests、MySQLdb、torndb的网易客户端内容爬虫
doubanspiders[15]- 豆瓣电影、书籍、小组、相册、东西等爬虫集
QQSpider [16]- QQ空间爬虫,包括日志、说说、我的信息等,一天可抓取 400 万条数据。
baidu-music-spider [17]- 百度mp3全站爬虫,使用redis支持断点续传。
tbcrawler[18]- 淘宝和天猫的爬虫,能够根据搜索关键词,物品id来抓去页面的信息,数据存储在mongodb。
stockholm [19]- 一个股票数据(沪深)爬虫和选股策略测试框架。根据选定的日期范围抓取全部沪深两市股票的行情数据。支持使用表达式定义选股策略。支持多线程处理。保存数据到JSON文件、CSV文件。
BaiduyunSpider[20]-百度云盘爬虫。