[关闭]
@Rays 2018-09-25T18:45:50.000000Z 字数 17817 阅读 4124

五十种最好的开源爬虫

语言开发


摘要: 开源Web爬虫纷繁多样,本文按实现所用的编程语言列出了五十种作者认为最好的开源爬虫。每种爬取应用各具特长,适用于不同用户的需求。用户可根据自己的需求和技术要求选取适用的工具。如何做出正确的选择完全取决于最终用户,至关重要的是,用户必须要了解每种工具的独特优势,并利用这些优势服务于用户自身的业务。

作者:Prowebscraper博客

正文:

网络爬虫是一种自动化程序或脚本,根据设定的数据爬取索引系统地爬取Web网页。整个过程称为Web数据采集(Crawling)或爬取(Spidering)。

人们通常将用于爬取的工具称为爬虫(Web Spider)、Web数据抽取软件或Web网站采集工具。

当前Web爬取应用广受关注,一个重要的原因在于它们从多个方面上推进了业务的加速增长。这些应用非常便于在数据驱动的大环境中使用。它们从多个公开的网站采集信息和内容,并按统一可管理的方式提供。在这些应用的帮助下,我们可以一窥遍布全球的海量信息,例如新闻、社会媒体、图片、文章,甚至是竞争对手的情况。

为更好地采用各种爬取应用,我们需要做好调研,了解各种应用的不同功能和相同特性。我们将在本文中介绍多种不同的开源Web爬取软件库和工具。本文有助于读者实现爬取、采集网站数据并分析数据。

我们全面地总结了一些最好的开源Web爬取软件库和工具,并按实现语言的不同进行了分类。

Python编写的开源Web爬虫

1. Scrapy

简介

特性

官方文档https://docs.scrapy.org/en/latest/

官方网站https://scrapy.org/

2. Cola

简介

特性

官方文档https://github.com/chineking/cola

官方网站https://pypi.org/project/Cola/

3. Crawley

简介

特性

官方文档https://pythonhosted.org/crawley/

官方网站http://project.crawley-cloud.com/

4. MechanicalSoup

简介

特性

官方文档https://mechanicalsoup.readthedocs.io/en/stable/

官方网站https://mechanicalsoup.readthedocs.io/

5. PySpider

简介

特性

官方文档http://docs.pyspider.org/

官方网站https://github.com/binux/pyspider

6. Portia

简介

特性

官方文档https://portia.readthedocs.io/en/latest/index.html

官方网站https://github.com/scrapinghub/portia

7. Beautifulsoup

简介

特性

官方文档https://www.crummy.com/software/BeautifulSoup/bs4/doc/

官方网站https://www.crummy.com/software/BeautifulSoup/

8. Spidy爬虫

简介

特性

官方文档https://github.com/rivermont/spidy

官方网站http://project.crawley-cloud.com/

9. Garb

简介

特性

官方文档https://grablib.org/en/latest/

官方网站https://github.com/lorien/grab

Java编写的开源Web爬虫

10. Apache Nutch

简介

特性

官方文档https://wiki.apache.org/nutch/

官方网站http://nutch.apache.org/

11. Heritrix

简介

特性

官方文档https://github.com/internetarchive/heritrix3/wiki/Heritrix%203.0%20and%203.1%20User%20Guide

官方网站https://github.com/internetarchive/heritrix3b

12. ACHE爬虫

简介

特性

官方文档http://ache.readthedocs.io/en/latest/

官方网站https://github.com/ViDA-NYU/ache

13. Crawler4j

简介

官方文档https://github.com/yasserg/crawler4j

官方网站https://github.com/yasserg/crawler4j

14. Gecco

简介

特性

官方文档https://github.com/xtuhcy/gecco

官方网站https://github.com/xtuhcy/gecco

15. BUbiNG

简介

特性

官方文档http://law.di.unimi.it/software/bubing-docs/index.html

官方网站http://law.di.unimi.it/software.php#bubing

16. Narconex

简介

特性

官方文档http://www.norconex.com/collectors/collector-http/getting-started

官方网站http://www.norconex.com/collectors/collector-http/

17. WebSPHINX

简介

特性

官方文档https://www.cs.cmu.edu/~rcm/websphinx/doc/index.html

官方网站https://www.cs.cmu.edu/~rcm/websphinx/#about

18. Spiderman

简介

特性

官方网站https://gitee.com/l-weiwei/spiderman

19. WebCollector :

简介

特性

官方文档https://github.com/CrawlScript/WebCollector

官方网站https://github.com/CrawlScript/WebCollector

20. Webmagic

简介

特性

官方文档http://webmagic.io/docs/en/

官方网站https://github.com/code4craft/webmagic

21. StormCrawler

简介

特性

官方文档http://stormcrawler.net/docs/api/

官方网站http://stormcrawler.net/

JavaScript编写的开源Web爬虫

22. NodeCrawler

简介

特性

官方文档https://github.com/bda-research/node-crawler

官方网站http://nodecrawler.org/

23. Simplecrawler

简介

特性

官方文档https://github.com/simplecrawler/simplecrawler

官方网站https://www.npmjs.com/package/simplecrawler

24. Js-crawler :

简介

官方文档https://github.com/antivanov/js-crawler

官方网站https://github.com/antivanov/js-crawler

25. Webster

简介

官方文档http://webster.zhuyingda.com/

官方网站https://github.com/zhuyingda/webster

26. Node-osmosis

简介
* 一种使用NodeJS实现的HTML/XML解析器和Web爬虫。

特性

官方文档https://rchipka.github.io/node-osmosis/global.html

官方网站https://www.npmjs.com/package/osmosis

27. Supercrawler

简介

特性

官方文档https://github.com/brendonboshell/supercrawler

官方网站https://github.com/brendonboshell/supercrawler

28. Web scraper的Chrome扩展

简介

特性

官方文档https://www.webscraper.io/documentation

官方网站https://www.webscraper.io

29. Headless Chrome爬虫

简介

特性

官方文档https://github.com/yujiosaka/headless-chrome-crawler/blob/master/docs/API.md

官方网站https://github.com/yujiosaka/headless-chrome-crawler

30. X-ray

特性

官方文档https://github.com/matthewmueller/x-ray

官方网站https://www.npmjs.com/package/x-ray-scraper

C编写的开源Web爬虫

31. Httrack

简介

特性

官方文档http://www.httrack.com/html/index.html

官方网站http://www.httrack.com/

32. GNU Wget

简介

特性

官方文档https://www.gnu.org/software/wget/manual/

官方网站https://www.gnu.org/software/wget/

C++编写的开源Web爬虫

33. gigablast

简介

特性

官方文档http://www.gigablast.com/api.html

官方网站http://www.gigablast.com/

C#编写的开源Web爬虫

34. Arachnode.net

简介

特性

官方文档https://documentation.arachnode.net/index.html

官方网站http://arachnode.net/

35. Abot

简介

特性

官方文档https://github.com/sjdirect/abot

官方网站https://github.com/sjdirect/abot

36. Hawk

简介

特性

官方文档https://github.com/ferventdesert/Hawk

官方网站https://ferventdesert.github.io/Hawk/

37. SkyScraper

简介

官方文档https://github.com/JonCanning/SkyScraper

官方网站https://github.com/JonCanning/SkyScraper

.NET编写的Web爬虫

38. DotnetSpider

简介

官方文档https://github.com/dotnetcore/DotnetSpider/wiki

官方网站https://github.com/dotnetcore/DotnetSpider

PHP编写的开源Web爬虫

39. Goutte

简介

官方文档https://goutte.readthedocs.io/en/latest/

官方网站https://github.com/FriendsOfPHP/Goutte

40. Dom-crawler

简介

官方文档https://symfony.com/doc/current/components/dom_crawler.html

官方网站https://github.com/symfony/dom-crawler

41. Pspider

简介

官方文档https://github.com/hightman/pspider

官方网站https://github.com/hightman/pspider

42. Php-spider

简介

特性

官方文档https://github.com/mvdbos/php-spider

官方网站https://github.com/mvdbos/php-spider

43. Spatie / Crawler

简介

官方文档https://github.com/spatie/crawler

官方网站https://github.com/spatie/crawler

Ruby实现的开源Web爬虫

44. Mechanize

简介

官方文档http://docs.seattlerb.org/mechanize/

官方网站https://github.com/sparklemotion/mechanize

GO编写的开源Web爬虫

45. Colly

简介

特性

官方文档http://go-colly.org/docs/

官方网站http://go-colly.org/

46. Gopa

特性

官方文档https://github.com/infinitbyte/gopa

官方网站https://github.com/infinitbyte/gopa

47. Pholcus

简介

特性

官方文档https://pholcus.gitbooks.io/docs/

官方网站https://github.com/henrylee2cn/pholcus

R编写的开源Web爬虫

48. Rvest

简介

官方文档https://cran.r-project.org/web/packages/rvest/rvest.pdf

官方网站https://github.com/hadley/rvest

Scala编写的开源Web爬虫

49. Sparkler

简介

特性

官方文档http://irds.usc.edu/sparkler/dev/development-environment-setup.html#contributing-source

官方网站http://irds.usc.edu/sparkler/

Perl编写的开源Web爬虫

50. Web-scraper

简介

官方文档https://github.com/miyagawa/web-scraper

官方网站https://github.com/miyagawa/web-scraper

总结

开源Web爬取应用纷繁多样,在此难以一一枚举。每种爬取应用分别各具特长,适用于不同用户的需求。

用户可根据自己的需求和技术要求选取适用的工具。也许用户会从上述工具中做出选择,也许会选择本文列表之外的工具。在实践中,用户只需根据任务的不同做出一个合理的选择,这完全取决于最终用户。其中至关重要的是,用户必须要了解每种工具的独特优势,并利用这些优势服务于用户自身的业务,或是自身所承担的其它任何任务。

欢迎与我们就此开展交流!

查看英文原文: 50 Best Open Source Web Crawlers

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注