技术淘来的各种爬虫框架

Posted 未来知识库

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了技术淘来的各种爬虫框架相关的知识,希望对你有一定的参考价值。

从GitHub上淘来的各种各样语言的爬虫框架分享给大家。

Python


python自然不用多说,拥有的爬虫框架数不胜数。


  • [scrapy](https://github.com/scrapy/scrapy),大名鼎鼎的爬虫框架,功能强大,乃入门学习的必备良药。支持多种多样的配置特性,唯一可惜不支持分布式的特性,于是就诞生了[scrapy-redis](https://github.com/rmax/scrapy-redis)这个以redis为队列的分布式爬虫框架。

  • [pyspider](https://github.com/binux/pyspider),应该是个华人写的爬虫框架,可支持的配置非常多,同时也支持分布式,只需要配置中间的消息队列就可以。

  • [portia](https://github.com/scrapinghub/portia),可视化的爬虫框架,对于编程经验少的人来说相当适合学习。

  • [xcrawler](https://github.com/0xE8551CCB/xcrawler),轻量级的爬虫框架。个人很简易从读轻量级的爬虫框架的源代码入手,这样能够由浅入深,学地更有意思。

  • [cola](https://github.com/chineking/cola),也是很强大的分布式爬虫框架,只是可惜不支持python 3以上。

  • [fetchman](https://github.com/DarkSand/fetchman), 国人写的爬虫框架,采用[grequests](https://github.com/kennethreitz/grequests)来并发请求。看过源代码,写的容易理解,所以对于新手来说很实用。

  • [gain](https://github.com/gaojiuli/gain), 使用asyncio来异步爬取的轻量级爬虫框架。代码很容易理解,利于学习。



Java


Java接触的不是很多,所以知道的爬虫框架不多。


  • [webmagic](https://github.com/code4craft/webmagic),这个是国人写的爬虫框架,很好用,也很强大。源代码的阅读体验也不错,推荐写java的可以去熟悉熟悉。

  • [crawler4j](https://github.com/yasserg/crawler4j), 比较好的爬虫架构,对于学习和理解爬虫框架很有用。

  • [SeimiCrawler](https://github.com/zhegexiaohuozi/SeimiCrawler), 分布式爬虫框架,也是受到scrapy启发。支持动态渲染的页面爬虫。

  • [elves](https://github.com/biezhi/elves), 轻量级的爬虫框架,国人写的。易于学习和理解。



Node


node接触的更加不多,但是也淘到了不错的几个框架。


  • [node-crawler](https://github.com/bda-research/node-crawler),强大且流行。采用Cheerio这个包解析网页结构。

  • [webster](https://github.com/zhuyingda/webster),高性能的NodeJs爬虫框架,可爬取动态渲染的内容(通过headless Chrome)。


C#


C#作为笔者除了Python以外比较熟悉的语言了。但是发现其爬虫框架少的可怜。哎,不禁叹息。

  • [DotnetSpider](https://github.com/dotnetcore/DotnetSpider),整体架构参照了WebMagic和Scrapy,是C#中比较强大的存在。目前已经支持.net core 2.0,所以,喜欢C#的可以去玩玩。还是比较不错的支持Entity Framework。

  • [WebCrawler](https://github.com/zhk0603/WebCrawler),国人写的轻量级的爬虫框架。可以去学习学习~~~


【备注】: 图片来自于unsplash平台。

以上是关于技术淘来的各种爬虫框架的主要内容,如果未能解决你的问题,请参考以下文章

转载不会编程也能写爬虫?可视化爬虫工具是什么东东

可视化爬虫资料

爬虫框架Scrapy之详解

爬虫之scrapy框架

爬虫 - Scrapy 框架简介与入门

五分钟快速了解Scrapy爬虫框架