@Rays
2018-09-25T18:45:50.000000Z
字数 17817
阅读 4124
语言开发
摘要: 开源Web爬虫纷繁多样,本文按实现所用的编程语言列出了五十种作者认为最好的开源爬虫。每种爬取应用各具特长,适用于不同用户的需求。用户可根据自己的需求和技术要求选取适用的工具。如何做出正确的选择完全取决于最终用户,至关重要的是,用户必须要了解每种工具的独特优势,并利用这些优势服务于用户自身的业务。
正文:
网络爬虫是一种自动化程序或脚本,根据设定的数据爬取索引系统地爬取Web网页。整个过程称为Web数据采集(Crawling)或爬取(Spidering)。
人们通常将用于爬取的工具称为爬虫(Web Spider)、Web数据抽取软件或Web网站采集工具。
当前Web爬取应用广受关注,一个重要的原因在于它们从多个方面上推进了业务的加速增长。这些应用非常便于在数据驱动的大环境中使用。它们从多个公开的网站采集信息和内容,并按统一可管理的方式提供。在这些应用的帮助下,我们可以一窥遍布全球的海量信息,例如新闻、社会媒体、图片、文章,甚至是竞争对手的情况。
为更好地采用各种爬取应用,我们需要做好调研,了解各种应用的不同功能和相同特性。我们将在本文中介绍多种不同的开源Web爬取软件库和工具。本文有助于读者实现爬取、采集网站数据并分析数据。
我们全面地总结了一些最好的开源Web爬取软件库和工具,并按实现语言的不同进行了分类。
简介:
特性:
– 官方文档:https://docs.scrapy.org/en/latest/
– 官方网站:https://scrapy.org/
简介:
特性:
– 官方文档:https://github.com/chineking/cola
– 官方网站:https://pypi.org/project/Cola/
简介:
特性:
– 官方文档:https://pythonhosted.org/crawley/
– 官方网站:http://project.crawley-cloud.com/
简介:
特性:
– 官方文档: https://mechanicalsoup.readthedocs.io/en/stable/
– 官方网站:https://mechanicalsoup.readthedocs.io/
简介:
特性:
– 官方文档: http://docs.pyspider.org/
– 官方网站:https://github.com/binux/pyspider
简介:
特性:
– 官方文档:https://portia.readthedocs.io/en/latest/index.html
– 官方网站: https://github.com/scrapinghub/portia
简介:
特性:
– 官方文档:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
– 官方网站: https://www.crummy.com/software/BeautifulSoup/
简介:
特性:
– 官方文档:https://github.com/rivermont/spidy
– 官方网站: http://project.crawley-cloud.com/
简介:
特性:
– 官方文档:https://grablib.org/en/latest/
– 官方网站: https://github.com/lorien/grab
简介:
特性:
– 官方文档: https://wiki.apache.org/nutch/
– 官方网站: http://nutch.apache.org/
简介:
特性:
– 官方文档: https://github.com/internetarchive/heritrix3/wiki/Heritrix%203.0%20and%203.1%20User%20Guide
– 官方网站: https://github.com/internetarchive/heritrix3b
简介:
特性:
– 官方文档: http://ache.readthedocs.io/en/latest/
– 官方网站: https://github.com/ViDA-NYU/ache
简介:
– 官方文档: https://github.com/yasserg/crawler4j
– 官方网站: https://github.com/yasserg/crawler4j
简介:
特性:
– 官方文档: https://github.com/xtuhcy/gecco
– 官方网站: https://github.com/xtuhcy/gecco
简介:
特性:
– 官方文档: http://law.di.unimi.it/software/bubing-docs/index.html
– 官方网站: http://law.di.unimi.it/software.php#bubing
简介:
特性:
– 官方文档: http://www.norconex.com/collectors/collector-http/getting-started
– 官方网站: http://www.norconex.com/collectors/collector-http/
简介:
特性:
– 官方文档: https://www.cs.cmu.edu/~rcm/websphinx/doc/index.html
– 官方网站: https://www.cs.cmu.edu/~rcm/websphinx/#about
简介:
特性:
– 官方网站: https://gitee.com/l-weiwei/spiderman
简介:
特性:
– 官方文档: https://github.com/CrawlScript/WebCollector
– 官方网站: https://github.com/CrawlScript/WebCollector
简介:
特性:
– 官方文档: http://webmagic.io/docs/en/
– 官方网站: https://github.com/code4craft/webmagic
简介:
特性:
– 官方文档: http://stormcrawler.net/docs/api/
– 官方网站: http://stormcrawler.net/
简介:
特性:
– 官方文档:https://github.com/bda-research/node-crawler
– 官方网站:http://nodecrawler.org/
简介:
特性:
– 官方文档: https://github.com/simplecrawler/simplecrawler
– 官方网站: https://www.npmjs.com/package/simplecrawler
简介:
– 官方文档: https://github.com/antivanov/js-crawler
– 官方网站: https://github.com/antivanov/js-crawler
简介:
– 官方文档: http://webster.zhuyingda.com/
– 官方网站: https://github.com/zhuyingda/webster
简介:
* 一种使用NodeJS实现的HTML/XML解析器和Web爬虫。
特性:
– 官方文档: https://rchipka.github.io/node-osmosis/global.html
– 官方网站: https://www.npmjs.com/package/osmosis
简介:
特性:
– 官方文档: https://github.com/brendonboshell/supercrawler
– 官方网站: https://github.com/brendonboshell/supercrawler
简介:
特性:
– 官方文档: https://www.webscraper.io/documentation
– 官方网站: https://www.webscraper.io
简介:
特性:
– 官方文档: https://github.com/yujiosaka/headless-chrome-crawler/blob/master/docs/API.md
– 官方网站: https://github.com/yujiosaka/headless-chrome-crawler
特性:
– 官方文档: https://github.com/matthewmueller/x-ray
– 官方网站: https://www.npmjs.com/package/x-ray-scraper
简介:
特性:
– 官方文档: http://www.httrack.com/html/index.html
– 官方网站: http://www.httrack.com/
简介:
特性:
– 官方文档: https://www.gnu.org/software/wget/manual/
– 官方网站: https://www.gnu.org/software/wget/
简介:
特性:
– 官方文档: http://www.gigablast.com/api.html
– 官方网站: http://www.gigablast.com/
简介:
特性:
– 官方文档: https://documentation.arachnode.net/index.html
– 官方网站: http://arachnode.net/
简介:
特性:
– 官方文档: https://github.com/sjdirect/abot
– 官方网站: https://github.com/sjdirect/abot
简介:
特性:
– 官方文档: https://github.com/ferventdesert/Hawk
– 官方网站: https://ferventdesert.github.io/Hawk/
简介:
– 官方文档: https://github.com/JonCanning/SkyScraper
– 官方网站: https://github.com/JonCanning/SkyScraper
简介:
– 官方文档: https://github.com/dotnetcore/DotnetSpider/wiki
– 官方网站: https://github.com/dotnetcore/DotnetSpider
简介:
– 官方文档: https://goutte.readthedocs.io/en/latest/
– 官方网站: https://github.com/FriendsOfPHP/Goutte
简介:
– 官方文档: https://symfony.com/doc/current/components/dom_crawler.html
– 官方网站: https://github.com/symfony/dom-crawler
简介:
– 官方文档: https://github.com/hightman/pspider
– 官方网站: https://github.com/hightman/pspider
简介:
特性:
– 官方文档: https://github.com/mvdbos/php-spider
– 官方网站: https://github.com/mvdbos/php-spider
简介:
– 官方文档: https://github.com/spatie/crawler
– 官方网站: https://github.com/spatie/crawler
简介:
– 官方文档: http://docs.seattlerb.org/mechanize/
– 官方网站: https://github.com/sparklemotion/mechanize
简介:
特性:
– 官方文档: http://go-colly.org/docs/
– 官方网站: http://go-colly.org/
特性:
– 官方文档: https://github.com/infinitbyte/gopa
– 官方网站: https://github.com/infinitbyte/gopa
简介:
特性:
– 官方文档: https://pholcus.gitbooks.io/docs/
– 官方网站: https://github.com/henrylee2cn/pholcus
简介:
– 官方文档: https://cran.r-project.org/web/packages/rvest/rvest.pdf
– 官方网站: https://github.com/hadley/rvest
简介:
特性:
– 官方文档: http://irds.usc.edu/sparkler/dev/development-environment-setup.html#contributing-source
– 官方网站: http://irds.usc.edu/sparkler/
简介:
– 官方文档: https://github.com/miyagawa/web-scraper
– 官方网站: https://github.com/miyagawa/web-scraper
开源Web爬取应用纷繁多样,在此难以一一枚举。每种爬取应用分别各具特长,适用于不同用户的需求。
用户可根据自己的需求和技术要求选取适用的工具。也许用户会从上述工具中做出选择,也许会选择本文列表之外的工具。在实践中,用户只需根据任务的不同做出一个合理的选择,这完全取决于最终用户。其中至关重要的是,用户必须要了解每种工具的独特优势,并利用这些优势服务于用户自身的业务,或是自身所承担的其它任何任务。
欢迎与我们就此开展交流!
查看英文原文: 50 Best Open Source Web Crawlers