【发布时间】:2011-05-04 01:08:26
【问题描述】:
我正在做一个项目,我需要进行大量的屏幕抓取以尽可能快地获取大量数据。我想知道是否有人知道任何好的 API 或资源来帮助我。
顺便说一句,我正在使用 java。
到目前为止,我的工作流程如下:
- 连接到网站(使用来自 Apache 的 HTTPComponents)
- 网站包含一个包含一堆我需要访问的链接的部分(使用内置的 Java HTML 解析器来确定我需要访问的所有链接是什么,这是烦人且混乱的代码)
- 访问我找到的所有链接
- 对于我访问的每个链接,我需要提取更多数据,分散在多个页面上,因此我可能需要访问更多链接
想法:
- 有谁知道比内置 java 更高级别/更智能的 html 解析器?
- 基本上是深度优先搜索。我想我想在某个时候使这个多线程,这样我就可以并行访问其中一些链接。
- 也许我真正想要的是一个多线程网络爬虫库
如果您还没有弄清楚,这是我第一次搞砸这个,所以我很难准确地表达我的需求。如果您之前做过这件事的任何人提供任何意见,我将不胜感激。
【问题讨论】:
-
您现在使用的究竟是什么 Java 解析器? (不相关 - Java Executor 框架是受控并行的理想选择)
-
stackoverflow.com/questions/7138296/… 我找到了这个。以为你会感兴趣。
-
看看teusje.wordpress.com/tag/scrape,它包含有关如何使用 powershell 和 perl 抓取数据的信息。
-
这用于控制器抓取,但不提供抓取github.com/yasserg/crawler4j
标签: java screen-scraping html-parsing data-mining web-scraping