【发布时间】:2023-03-25 08:58:01
【问题描述】:
我正在实现一个网络爬虫,我正在使用 Crawler4j 库。我没有得到网站上的所有链接。 我尝试使用 Crawler4j 提取一页上的所有链接,但错过了一些链接。
Crawler4j 版本:crawler4j-3.3
我使用的网址:http://testsite2012.site90.com/frontPage.html
没有。此页面上的链接数:其中近 60 个和 4-5 个在重复
没有。 crawler4j 给出的链接数:23
this 是页面上的 URL 列表,this 是 Crawler4j 给出的 URL 列表。
我查看了 crawler4j 使用的“HtmlContentHandler.java”文件来提取链接。在此仅提取与“src”和“href”链接相关的链接。
我发现这些文件之间的区别。 Crawler4j 缺少与“src”或“href”属性无关且位于“脚本”标签下的链接。 this 是 crawler4j 没有抓取的链接列表。
如何提取此页面上的所有链接? 我需要在 HTML 解析页面上进行字符串操作(如查找 'http' )还是应该更改 'HtmlContentHandler.java' 文件的代码?
哪种方法最好?
即使我进行字符串操作并提取此页面上的所有链接,但 Crawler4j 正在使用自己爬取的链接来爬取网站,并且在这种情况下它不会错过某些页面?
【问题讨论】:
-
使用 Jsoup 解析器。简单整洁。
标签: java html hyperlink web-crawler crawler4j