Java 网页抓取、屏幕抓取、数据挖掘提示?

Java 网页抓取、屏幕抓取、数据挖掘提示?,java,screen-scraping,html-parsing,data-mining,web-scraping,Java,Screen Scraping,Html Parsing,Data Mining,Web Scraping,我正在做一个项目,我需要做大量的屏幕抓取,以尽快获得大量数据。我想知道是否有人知道有什么好的API或资源可以帮助我 顺便说一下,我正在使用java 以下是迄今为止我的工作流程: 连接到网站(使用Apache的HTTPComponents) 该网站包含一个部分,其中包含一组我需要访问的链接(使用内置java HTML解析器来确定我需要访问的所有链接是什么,这是一段烦人且混乱的代码) 访问我找到的所有链接 对于我访问的每个链接,都有更多的数据需要提取,分布在多个页面上,因此我可能需要访问更多的链接

我正在做一个项目,我需要做大量的屏幕抓取,以尽快获得大量数据。我想知道是否有人知道有什么好的API或资源可以帮助我

顺便说一下,我正在使用java

以下是迄今为止我的工作流程:

  • 连接到网站(使用Apache的HTTPComponents)
  • 该网站包含一个部分,其中包含一组我需要访问的链接(使用内置java HTML解析器来确定我需要访问的所有链接是什么,这是一段烦人且混乱的代码)
  • 访问我找到的所有链接
  • 对于我访问的每个链接,都有更多的数据需要提取,分布在多个页面上,因此我可能需要访问更多的链接
  • 想法:

    • 有人知道有比内置java更高级、更智能的html解析器吗
    • 基本上是深度优先搜索。我想我会在某个时候把这个多线程化,这样我就可以并行访问其中的一些链接
    • 也许我真正想要的是一个多线程的web爬行库
    如果你还没弄明白,这是我第一次搞砸这件事,所以我很难清楚我到底需要什么。我非常感谢你们中任何一位以前做过这项工作的人可能会提供的任何信息。

    尝试使用project。

    我发现非常适合HTML解析


    有关更多的提示,请参阅本文:

    Checkout JSR-237 For Work Management,这在使用多线程时是一个很酷的想法


    至于刮削,有几种选择。如果易用性是最重要的,我建议您使用它。除此之外,你必须滚动你自己的

    我用于提取超链接和图像进行深度搜索,。它建立在hadoop和级联之上,因此有一个学习曲线,但提供的示例足以配置更改…

    您现在使用的Java解析器到底是什么?(不相关-Java Executor框架是受控并行的理想选择)我发现了这一点。我想你会感兴趣的。看看吧,它包含了关于如何使用powershell和perl抓取数据的信息。这是用于控制器抓取的,但不提供抓取