java爬虫抓取动态网页(基于微内核+插件式架构的Java语言开发网络爬虫)
优采云 发布时间: 2021-12-28 01:18java爬虫抓取动态网页(基于微内核+插件式架构的Java语言开发网络爬虫)
1、格科
github地址:xtuhcy/gecco
Gecco是一个用java语言开发的轻量级易用的网络爬虫。集成了jsoup、httpclient、fastjson、spring、htmlunit、redission等框架,只需要配置一些jquery风格的选择器即可快速编写爬虫。Gecco 框架具有出色的可扩展性。框架按照开闭原则设计,封闭用于修改,开放用于扩展。
2、WebCollector
github地址:CrawlScript/WebCollector
WebCollector是一个不需要配置,方便二次开发的JAVA爬虫框架(内核)。它提供了精简的API,可以用少量的代码实现强大的爬虫。WebCollector-Hadoop 是WebCollector 的Hadoop 版本,支持分布式爬取。
3、蜘蛛侠
码云地址:l-weiwei/Spiderman2-码云-开源中国
用例:展示垂直爬虫的能力——像风一样自由
蜘蛛侠是一个基于微内核+插件架构的网络蜘蛛。它的目标是将复杂的目标页面信息以简单的方式捕获并解析成它需要的业务数据。
4、WebMagic
码云地址:flashsword20/webmagic-码云-中国开源
webmagic是一个爬虫框架,不需要配置,方便二次开发。提供简单灵活的API,少量代码即可实现爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫生命周期(链接提取、页面下载、内容提取、持久化),支持多线程爬取、分布式爬取,支持自动重试和自定义UA/Cookies等功能。
5、Heritrix
github地址:internetarchive/heritrix3
Heritrix 是一个开源、可扩展的网络爬虫项目。用户可以使用它从互联网上获取他们想要的资源。Heritrix 的设计严格遵循 robots.txt 文件和 META 机器人标签的排除说明。其最突出的特点是良好的扩展性,方便用户实现自己的抓取逻辑。
6、crawler4j
github地址:yasserg/crawler4j · GitHub
crawler4j 是一个用 Java 实现的开源网络爬虫。提供简单易用的界面,您可以在几分钟内创建一个多线程的网络爬虫。
7、纳奇
github地址:apache/nutch
Nutch 是一个开源的 Java 搜索引擎。它提供了我们运行自己的搜索引擎所需的所有工具。包括全文搜索和网络爬虫。
在 Nutch 的发展过程中,产生了四个 Java 开源项目,Hadoop、Tika、Gora 和 Crawler Commons。现在这四个项目发展迅速,非常火爆,尤其是Hadoop,它已经成为*敏*感*词*数据处理的事实上的标准。Tika 使用各种现有的开源内容分析项目从多种格式的文件中提取元数据和结构化文本。Gora 支持将大数据持久化到多个存储实现。Crawler Commons 是一个通用的网络爬虫组件。.
8、SeimiCrawler
github地址:zhegexiaohuozi/SeimiCrawler
SeimiCrawler 是一个敏捷、独立部署、支持分布式Java 爬虫框架。希望最大限度地降低新手开发高可用低性能爬虫系统的门槛,提高爬虫系统的开发效率。在SeimiCrawler的世界里,大部分人只需要关心写爬行的业务逻辑,剩下的Seimi会帮你处理。在设计上,SeimiCrawler 的灵感来自于 Python 的爬虫框架 Scrapy,同时结合了 Java 语言的特性和 Spring 的特性,希望在国内使用更高效的 XPath 来更方便、更通用地解析 HTML,所以SeimiCrawler 的默认 HTML 解析器是 JsoupXpath(独立的扩展项目,不收录
在 jsoup 中),HTML 数据的默认解析和提取是使用 XPath 完成的(当然,您也可以选择其他解析器进行数据处理)。并结合SeimiAgent,彻底解决复杂的动态页面渲染和爬取问题。
9、Jsoup
github地址:jhy/jsoup
中文指南:jsoup开发指南、jsoup中文文档
jsoup 是一个 Java HTML 解析器,可以直接解析 URL 地址和 HTML 文本内容。它提供了一个非常省力的API,可以通过DOM、CSS和类似jQuery的操作方法来检索和操作数据。