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

五十种最好的开源爬虫

语言开发


摘要: 开源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

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

玻璃钢生产厂家洛阳玻璃钢设备外壳公司伊春玻璃钢餐桌椅定做榆林玻璃钢天花吊顶价格常德玻璃钢产品定制本溪玻璃钢造型加工庆阳玻璃钢卡通雕塑厂家威海玻璃钢座椅制作南通玻璃钢茶几多少钱贵州商场美陈定制阳泉玻璃钢种植池哪家好白银玻璃钢装饰批发通辽不锈钢家具公司承德玻璃钢花槽生产厂家赣州玻璃钢制造临沧玻璃钢雕塑定做烟台玻璃钢树池定制常州商场美陈定制阜阳玻璃钢花池制造海口玻璃钢装饰工程厂家直销德阳玻璃钢浮雕制作江西玻璃钢花瓶厂佛山玻璃钢摆件多少钱乌鲁木齐玻璃钢树池定制亳州玻璃钢装饰造型厂家三沙玻璃钢树池多少钱运城玻璃钢装饰工程厂三亚玻璃钢机械外壳价格常德玻璃钢花池公司香港玻璃钢种植池滁州玻璃钢休闲椅厂家直销香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化