网页抓取、屏幕抓取、数据挖掘技巧? [关闭]

Posted

技术标签:

【中文标题】网页抓取、屏幕抓取、数据挖掘技巧? [关闭]【英文标题】:Web scraping, screen scraping, data mining tips? [closed] 【发布时间】:2011-05-04 01:08:26 【问题描述】:

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

顺便说一句,我正在使用 java。

到目前为止,我的工作流程如下:

    连接到网站(使用来自 Apache 的 HTTPComponents) 网站包含一个包含一堆我需要访问的链接的部分(使用内置的 Java html 解析器来确定我需要访问的所有链接是什么,这是烦人且混乱的代码) 访问我找到的所有链接 对于我访问的每个链接,我需要提取更多数据,分散在多个页面上,因此我可能需要访问更多链接

想法:

有谁知道比内置 java 更高级别/更智能的 html 解析器? 基本上是深度优先搜索。我想我想在某个时候使这个多线程,这样我就可以并行访问其中一些链接。 也许我真正想要的是一个多线程网络爬虫库

如果您还没有弄清楚,这是我第一次搞砸这个,所以我很难准确地表达我的需求。如果您之前做过这件事的任何人提供任何意见,我将不胜感激。

【问题讨论】:

您现在使用的究竟是什么 Java 解析器? (不相关 - Java Executor 框架是受控并行的理想选择) ***.com/questions/7138296/… 我找到了这个。以为你会感兴趣。 看看teusje.wordpress.com/tag/scrape,它包含有关如何使用 powershell 和 perl 抓取数据的信息。 这用于控制器抓取,但不提供抓取github.com/yasserg/crawler4j 【参考方案1】:

我发现 JSoup 非常适合 HTML 解析。

如需更多指点,请查看这篇文章:How to write a multi-threaded webcrawler

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

尝试使用Web-Harvest 项目。

【讨论】:

【参考方案4】:

为工作管理检查 JSR-237,这是多线程时的一个很酷的想法。

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

【讨论】:

以上是关于网页抓取、屏幕抓取、数据挖掘技巧? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

盘点用Java抓取HTTP服务器和FTP服务器的网页数据或图片等数据的实用技巧

网页抓取:自动化按钮点击[关闭]

Python爬虫--2019大学排名数据抓取

python 如何抓取动态页面内容?

python之屏幕抓取

用Python 抓取的UTF8网页无法decode('utf-8')