├── LICENSE ├── README.md └── testing /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2016 tigerxue 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome-crawler-cn 2 | 互联网爬虫,蜘蛛,数据采集器,网页解析器的汇总,因新技术不断发展,新框架层出不穷,此文会不断更新... 3 | 4 | ## 交流讨论 5 | 1. 欢迎推荐你知道的开源网络爬虫,网页抽取框架. 6 | 2. 开源网络爬虫QQ交流群:322937592 7 | 3. email address: liinux at qq.com 8 | 9 | ## Python 10 | * [Scrapy](https://github.com/scrapy/scrapy) - 一种高效的屏幕,网页数据采集框架。 11 | * [django-dynamic-scraper](https://github.com/holgerd77/django-dynamic-scraper) - 基于Scrapy内核由django Web框架开发的爬虫。 12 | * [Scrapy-Redis](https://github.com/rolando/scrapy-redis) - 基于Scrapy内核采用Redis组件的爬虫。 13 | * [scrapy-cluster](https://github.com/istresearch/scrapy-cluster) - 基于Scrapy内核采用Redis 和 Kafka 开发的分布式爬虫框架。 14 | * [distribute_crawler](https://github.com/gnemoug/distribute_crawler) - 基于Scrapy内核采用redis, mongodb开发的分布式爬虫框架。 15 | * [pyspider](https://github.com/binux/pyspider) - 一个强大纯python的数据采集系统. 16 | * [cola](https://github.com/chineking/cola) - 一个分布式的爬虫框架. 17 | * [Demiurge](https://github.com/matiasb/demiurge) - 基于PyQuery的微型爬虫框架. 18 | * [Scrapely](https://github.com/scrapy/scrapely) - 一个纯python的HTML页面捕捉库. 19 | * [feedparser](http://pythonhosted.org/feedparser/) - 一个通用的feed解析器. 20 | * [you-get](https://github.com/soimort/you-get) - 静默网站爬去下载器. 21 | * [Grab](http://grablib.org/) - 网站采集框架. 22 | * [MechanicalSoup](https://github.com/hickford/MechanicalSoup) - 一个自动化的互动网站Python库. 23 | * [portia](https://github.com/scrapinghub/portia) - 基于Scrapy的可视化数据采集框架. 24 | * [crawley](https://github.com/jmg/crawley) - 基于非阻塞通信(NIO)的python爬虫框架. 25 | * [RoboBrowser](https://github.com/jmcarp/robobrowser) - 一个简单的,不基于Web浏览器的基于Python的Web 浏览器. 26 | * [MSpider](https://github.com/manning23/MSpider) - 一个基于gevent(协程网络库)的python爬虫. 27 | * [brownant](https://github.com/douban/brownant) - 一个轻量级的网络数据抽取框架. 28 | * [extractnet](https://github.com/currentsapi/extractnet) - 基于机器学习进行网页内容提取的工具 29 | 30 | ## Java 31 | * [Apache Nutch](http://nutch.apache.org/) - 用于生产环境的高度可扩展的高度可扩展的网络爬虫. 32 | * [anthelion](https://github.com/yahoo/anthelion) - 一个基于Apache Nutch抓取语义注释在HTML页面插件. 33 | * [Crawler4j](https://github.com/yasserg/crawler4j) - 简单和轻量级的网络爬虫. 34 | * [JSoup](http://jsoup.org/) - 采集,分析,处理和清洗HTML页面. 35 | * [websphinx](http://www.cs.cmu.edu/~rcm/websphinx/) - HTML网站特定的处理、信息提取. 36 | * [Open Search Server](http://www.opensearchserver.com/) - 全套搜索功能,建立你自己的索引策略。分析、提取全文数据,这个框架可以索引的一切. 37 | * [Gecco](https://github.com/xtuhcy/gecco) - 一个易于使用的轻量级网络爬虫. 38 | * [WebCollector](https://github.com/CrawlScript/WebCollector) -简单的抓取网页的界面,可以在不到5分钟内部署一个多线程的网络爬虫. 39 | * [Webmagic](https://github.com/code4craft/webmagic) -一个可扩展的爬虫框架. 40 | * [Spiderman](https://git.oschina.net/l-weiwei/spiderman) -一个可扩展的,多线程的网络爬虫. 41 | * [Spiderman2](http://git.oschina.net/l-weiwei/Spiderman2) - 分布式网络爬虫框架,支持javascript渲染. 42 | * [Heritrix3](https://github.com/internetarchive/heritrix3) - 可扩展,大规模的网络爬虫项目. 43 | * [SeimiCrawler](https://github.com/zhegexiaohuozi/SeimiCrawler) - 一个敏捷的分布式爬虫框架. 44 | * [StormCrawler](http://github.com/DigitalPebble/storm-crawler/) - 基于开放源代码、构建低延迟的网络资源采集框架,基于Apache Storm. 45 | * [Spark-Crawler](https://github.com/USCDataScience/sparkler) - 基于Apache Nutch 的网络爬虫,可以运行于Spark. 46 | 47 | ## C# 48 | * [ccrawler](http://www.findbestopensource.com/product/ccrawler) - 一个简单的Web内容分类方案,它可以根据其内容分开网页,基于C#3.5. 49 | * [SimpleCrawler](https://github.com/lei-zhu/SimpleCrawler) - 简单的多线程网络爬虫,基于REG表达式. 50 | * [DotnetSpider](https://github.com/zlzforever/DotnetSpider) - 基于C#开发的一个轻量级,交叉平台的网络爬虫. 51 | * [Abot](https://github.com/sjdirect/abot) - 具有很好效率和可扩展性的C#网络爬虫. 52 | * [Hawk](https://github.com/ferventdesert/Hawk) -  用 C#/WPF开发的网络爬虫,具有简单的ETL功能. 53 | * [SkyScraper](https://github.com/JonCanning/SkyScraper) - 一个支持异步网络和有很好扩展性的网络爬虫. 54 | 55 | ## JavaScript 56 | * [scraperjs](https://github.com/ruipgil/scraperjs) - 基于JS的一个功能齐全的网络爬虫. 57 | * [scrape-it](https://github.com/IonicaBizau/scrape-it) - 基于Node.js的网络爬虫. 58 | * [webster](https://github.com/zhuyingda/webster) - 基于Chromium无头模式和Node.js的分布式网络爬虫框架,可抓取ajax异步内容,可分布式横向纵向扩展. 59 | * [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - 基于事件驱动开发的网络爬虫. 60 | * [node-crawler](https://github.com/bda-research/node-crawler) - 提供简单API,适于二次开发的网络爬虫. 61 | * [js-crawler](https://github.com/antivanov/js-crawler) - 基于Node.JS,支持HTTP(S)的网络爬虫. 62 | * [x-ray](https://github.com/lapwinglabs/x-ray) - 支持分页的网络爬虫. 63 | * [node-osmosis](https://github.com/rchipka/node-osmosis) - 基于Node.js适于解析HTML结构的网络爬虫. 64 | 65 | ## PHP 66 | * [Goutte](https://github.com/FriendsOfPHP/Goutte) - 基于PHP的网页截屏和爬取程序. 67 | * [laravel-goutte](https://github.com/dweidner/laravel-goutte) - 基于Laravel 5 的网络爬虫. 68 | * [dom-crawler](https://github.com/symfony/dom-crawler) - 易于抽取DOM文件的网络爬虫. 69 | * [pspider](https://github.com/hightman/pspider) - 基于PHP的并发网络爬虫. 70 | * [php-spider](https://github.com/mvdbos/php-spider) - 一个基于PHP的高可扩展的网络爬虫. 71 | 72 | ## C++ 73 | * [open-source-search-engine](https://github.com/gigablast/open-source-search-engine) - 基于C/C++开发的网络爬虫和搜索引擎. 74 | 75 | ## C 76 | * [httrack](https://github.com/xroche/httrack) - 全部网站整体复制工具。 77 | ## Ruby 78 | * [upton](https://github.com/propublica/upton) - 一个易于上手的爬虫框架集合,支持CSS选择器. 79 | * [wombat](https://github.com/felipecsl/wombat) - 基于Ruby天然的支持DSL的网络爬虫,易于提取网页正文数据. 80 | * [RubyRetriever](https://github.com/joenorton/rubyretriever) - 基于Ruby的网站数据采集和全网数据收割机. 81 | * [Spidr](https://github.com/postmodern/spidr) - 全站数据采集,支持无限的网站链接地址采集. 82 | * [Cobweb](https://github.com/stewartmckee/cobweb) - 非常灵活,易于扩展的网络爬虫,可以单点部署使用. 83 | * [mechanize](https://github.com/sparklemotion/mechanize) - 自动采集网站数据的框架. 84 | 85 | ## R 86 | * [rvest](https://github.com/hadley/rvest) - 基于R开发的简单网络爬虫. 87 | 88 | ## Erlang 89 | * [ebot](https://github.com/matteoredaelli/ebot) - 一个分布式,高可扩展的网络爬虫. 90 | 91 | ## Perl 92 | * [web-scraper](https://github.com/miyagawa/web-scraper) - 方便使用HTML、CSS、XPath选择器的网络爬虫。 93 | 94 | ## Go 95 | * [pholcus](https://github.com/henrylee2cn/pholcus) - 一个分布式,支持高并发的网络爬虫. 96 | * [gocrawl](https://github.com/PuerkitoBio/gocrawl) - 一个高并发的,轻量级,遵守道德的网络爬虫. 97 | * [fetchbot](https://github.com/PuerkitoBio/fetchbot) -一个遵守robots.txt规则和延迟规则的轻量级网络爬虫. 98 | * [go_spider](https://github.com/hu17889/go_spider) - 一个非常好的高并发网络爬虫. 99 | * [dht](https://github.com/shiyanhui/dht) -支持DHT协议的网络爬虫. 100 | * [ants-go](https://github.com/wcong/ants-go) - 基于Golang的高并行网络爬虫. 101 | * [scrape](https://github.com/yhat/scrape) - 一个简单的提供很好开发接口的网络爬虫. 102 | 103 | ## Scala 104 | * [crawler](https://github.com/bplawler/crawler) - 基于Scala DSL的网络爬虫. 105 | * [scrala](https://github.com/gaocegege/scrala) - 由Scala开发基于scrapy内核的网络爬虫. 106 | * [ferrit](https://github.com/reggoodwin/ferrit) - 基于Scala开发使用了Akka, Spray,Cassandra的网络爬虫. 107 | -------------------------------------------------------------------------------- /testing: -------------------------------------------------------------------------------- 1 | test file for fork 2 | --------------------------------------------------------------------------------