java爬虫抓取动态网页(基于微内核+插件式架构的JAVA爬虫框架(内核))
优采云 发布时间: 2021-09-21 14:05java爬虫抓取动态网页(基于微内核+插件式架构的JAVA爬虫框架(内核))
1、Gecco
GitHub地址:xtuhcy/GECCO
GECCO是一个用Java语言开发的轻量级且易于使用的web爬虫程序。它集成了jsoup、httpclient、fastjson、spring、htmlunit、再分配和其他框架。通过配置一些jQuery样式选择器,可以快速编写爬虫程序。GECCO框架具有良好的可扩展性。框架根据开闭原理设计,关闭修改,打开扩展
2、WebCollector
GitHub地址:crawlscript/webcollector
Webcollector是一个Java爬虫框架(内核),不需要配置,便于二次开发。它提供了一个简化的API,只需少量代码即可实现强大的爬虫程序。Webcollector Hadoop是Webcollector的Hadoop版本,支持分布式爬网
3、Spiderman
代码云地址:l-weiwei/spiderman2-代码云-开源中国
用例:演示垂直爬虫的能力–自由如风
蜘蛛侠是一种基于微内核+插件架构的网络蜘蛛。它的目标是通过简单的方法捕获复杂的目标网页信息并将其解析为业务数据
4、WebMagic
代码云地址:flashsword20/webmagic-代码云-开源中国
Webmagic是一个无配置的爬虫框架,便于二次开发。它提供了一个简单灵活的API,只需少量代码即可实现爬虫程序。Webmagic采用全模块化设计,覆盖爬虫的整个生命周期(链接提取、页面下载、内容提取、持久化),支持多线程爬虫、分布式爬虫、自动重试、自定义UA/cookie等功能
5、Heritrix
GitHub地址:InternetArchive/Heritrix 3
Heritrix是一个开源、可扩展的网络爬虫项目。用户可以使用它从互联网上获取所需的资源。Heritrix的设计严格遵循robots.txt文件和meta robots标签的排除说明。其最大的特点是具有良好的可扩展性,方便用户实现自己的爬网逻辑
6、crawler4j
GitHub地址:yasserg/crawler4j·GitHub
Crawler4j是一个用Java实现的开源web爬虫程序。提供一个易于使用的界面,以便在几分钟内创建多线程web爬虫程序
7、Nutch
GitHub地址:Apache/nutch
Nutch是一个用Java实现的开源搜索引擎。它提供了我们运行自己的搜索引擎所需的所有工具。包括全文搜索和网络爬虫
在nutch的发展过程中,出现了四个Java开源项目,Hadoop、Tika、Gora和crawler commons。如今,这四个项目发展迅速,非常流行,尤其是Hadoop,它已经成为*敏*感*词*数据处理的事实标准。Tika使用各种现有的开源内容解析项目从各种格式的文件中提取元数据和结构化文本。Gora支持将大数据持久化到各种存储实现中。Crawler Commons是一个通用的web爬虫组件
8、SeimiCrawler
GitHub地址:哲格晓霍兹/赛米克罗勒
Seimicrawler是一个灵活、独立部署和分布式Java爬虫框架。希望最大限度地降低新手开发高可用性、高性能爬虫系统的门槛,提高爬虫系统的开发效率。在seimi crawler的世界中,大多数人只需要关心编写捕获的业务逻辑,其余的seimi将帮助您。在设计理念上,seimicrawler受到Python的crawler框架scripy的启发,融合了Java语言和spring的特点,希望在中国使用更方便高效的XPath解析HTML。因此,seimicrawler的默认HTML解析器是JSOUPPATH(独立扩展项目,不是jsoup提供的),默认情况下,解析和提取HTML数据是使用XPath完成的(当然,数据处理也可以选择其他解析器)。它与seimiagent相结合,全面、完美地解决了复杂动态页面的渲染和抓取问题
9、Jsoup
GitHub地址:jhy/jsoup
中文指南:jsoup开发指南、jsoup中文文档
Jsoup是一个Java HTML解析器,它可以直接解析URL地址和HTML文本内容。它提供了一个非常省力的API,可以通过DOM、CSS和类似于jQuery的操作方法获取和操作数据