如何使用crawler4j提取页面上的所有链接?

时间:2012-07-03 08:51:17

标签: java html hyperlink web-crawler crawler4j

我正在实施网络抓取工具,而我正在使用Crawler4j库。我没有得到网站上的所有链接。 我试图使用Crawler4j提取一个页面上的所有链接,并错过了一些链接。

Crawler4j版本:crawler4j-3.3

我使用的网址:http://testsite2012.site90.com/frontPage.html

没有。本页面上的链接:其中近60和4-5正在重复

没有。链接crawler4j给出:23

this是页面上的网址列表,this是Crawler4j提供的网址列表。

我使用crawler4j查看'HtmlContentHandler.java'文件来提取链接。在此仅提取与'src'和'href'相关联的链接。

我发现这些文件之间存在差异。 Crawler4j缺少与'src'或'href'属性无关的链接,这些链接位于'script'标记下。 this是crawler4j未抓取的链接列表。

如何提取此页面上的所有链接? 我是否需要在HTML解析页面上进行字符串操作(如查找'http'),还是应该更改'HtmlContentHandler.java'文件的代码?

哪种方式最好?

即使我进行字符串操作并提取此页面上的所有链接,但Crawler4j使用自己抓取的链接抓取网站,在这种情况下它会丢失一些页面吗?

1 个答案:

答案 0 :(得分:0)

尝试使用Regular Expressions查找链接。

您可以查看here作为示例。