JAVA爬虫 WebCollector
爬虫简介:
WebCollector是一个无须配置、便于二次开发的JAVA爬虫框架(内核),它提供精简的的API,只需少量代码即可实现一个功能强大的爬虫。
爬虫内核:
WebCollector 致力于维护一个稳定、可扩的爬虫内核,便于开发者进行灵活的二次开发。内核具有很强的扩展性,用户可以在内核基础上开发自己想要的爬虫。源码中集成了 Jsoup,可进行精准的网页解析。2.x版本中集成了selenium,可以处理javascript生成的数据。
网页正文提取:
网页正文提取项目ContentExtractor已并入WebCollector维护。
WebCollector的正文抽取API都被封装为ContentExtractor类的静态方法。 可以抽取结构化新闻,也可以只抽取网页的正文(或正文所在Element)。
正文抽取效果指标 :
- 比赛数据集CleanEval P=93.79% R=86.02% F=86.72%
- 常见新闻网站数据集 P=97.87% R=94.26% F=95.33%
- 算法无视语种,适用于各种语种的网页
标题抽取和日期抽取使用简单启发式算法,并没有像正文抽取算法一样在标准数据集上测试,算法仍在更新中。
1.x:
WebCollector 1.x版本现已转移到http://git.oschina.net/webcollector/WebCollector-1.x维护,建议使用2.x版本。
2.x:
WebCollector 2.x版本特性:
-
1)自定义遍历策略,可完成更为复杂的遍历业务,例如分页、AJAX
-
2)内置Berkeley DB管理URL,可以处理更大量级的网页
-
3)集成selenium,可以对javascript生成信息进行抽取
-
4)直接支持多代理随机切换
-
5)集成spring jdbc和mysql connector,方便数据持久化
-
6)集成json解析器
-
7)使用slf4j作为日志门面
-
8)修改http请求接口,用户自定义http请求更加方便
WebCollector 2.x官网和镜像:
WebCollector 2.x教程:
- WebCollector 2.x tutorial 2 (BreadthCrawler中文教程)
- WebCollector 2.x 新闻网页正文自动提取算法
- WebCollector 2.x 抽取器 (Extractor和MultiExtractorCrawler)
- WebCollector爬取JS生成数据
- WebCollector爬取搜狗搜索(分页)
- WebCollector爬取JSON数据
- 使用SoupLang脚本同时管理多个页面爬取 SoupLang脚本
- 用WebCollector 2.x爬取新浪微博(无需手动获取cookie)
WebCollector 2.x教程(镜像):
- WebCollector 2.x tutorial 2 (BreadthCrawler中文教程)
- WebCollector 2.x 新闻网页正文自动提取算法
- WebCollector 2.x 抽取器 (Extractor和MultiExtractorCrawler)
- WebCollector爬取JS生成数据
- WebCollector爬取搜狗搜索(分页)
- WebCollector爬取JSON数据
- 使用SoupLang脚本同时管理多个页面爬取 SoupLang脚本
- 用WebCollector 2.x爬取新浪微博(无需手动获取cookie)
版本更新信息:
WebCollector 2.10 发布,更新详情如下:
-
1 ) 新增新闻网页正文自动提取算法,可自动抽取新闻网页正文、标题和日期,可参照例子:WebCollector正文提取DEMO。
WebCollector 2.09 发布,更新详情如下:
-
1 ) 新增抽取器Extractor和用于加载抽取器的爬虫MultiExtractorCrawler,提供一种方便分工和维护的爬虫开发方案。可参照例子: WebCollector抽取器DEMO。
-
2 ) 新增FileSystemOutput,可将网页按照网站拓扑结构存储到本地。
-
3 ) 修复https请求证书问题。