Java 爬虫工具/开源API对比
注:基于网上收集到的信息,未经代码试验过。
【Java 爬虫工具/开源API对比】
名称 | 分类 | 优点 | 缺点 | Git 评价 |
Apache Nutch | 搜索引擎 | 分布式(依赖hadoop),为搜索引擎设计 | 重量级,用于精抽取会低效,Nutch插件调试困难 | 老大级 |
Spiderman | 爬虫 | 微内核+插件式架构,重配置(无需写代码),多线程 | 用户太少 | star 525 | fork 326 |
webmagic | 爬虫 | 使用了HttpClient,支持多线程抓取,分布式抓取 | JS动态加载要使用如PhantomJS、Selenium,用户太少 | 荐,star 406 | fork 225 |
WebCollector 2 | 爬虫 | 可用于分页及AJAX的遍历策略,集成selenium从而支持JS,支持多代理随机切换 | 用户太少 | 荐,star 29 | fork 32 |
Crawljax | 爬虫 | 支持Ajax | 树回溯性能问题 | star 222 | fork 123 |
OWASP AJAX Crawling Tool | 爬虫 | 支持Ajax(用到Selenium) | ? | - |
jsoup | HTML解析器 | HTML解析器 | - | 老大级 |
HttpComponents(即原HttpClient) | 网络工具包 | 实现了所有 HTTP 的方法(GET,POST,PUT,HEAD 等),支持代理 | - | 老大级 |
Htmlunit | 网络工具包 | 支持JS,JUnit 的扩展测试框架,将返回文档模拟成 HTML | - | 老大级 |
selenium2(WebClient) | 网络工具包 | 辅助动态爬虫(集成Htmlunit、phantomjs) | - | - |
phantomjs | 服务器端JS | 辅助动态爬虫,JS WebKit,无需浏览器Web测试,页面访问自动化 | - | star 14210 | fork 2695 |
推荐阅读
- JAVA(抽象类与接口的区别&重载与重写&内存泄漏)
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 事件代理
- 孩子不是实现父母欲望的工具——林哈夫
- Java|Java OpenCV图像处理之SIFT角点检测详解
- java中如何实现重建二叉树
- 数组常用方法一
- 【Hadoop踩雷】Mac下安装Hadoop3以及Java版本问题
- Python爬虫|Python爬虫 --- 1.4 正则表达式(re库)
- 最有效的时间管理工具(赢效率手册和总结笔记)