使用crawler4j对网站进行爬网时,获取链接的链接文本



我正在使用crawler4j对网站进行爬网。当我访问一个页面时,我希望获得所有链接的链接文本,而不仅仅是完整的URL。这可能吗?

提前谢谢。

在从WebCrawler派生的类中,获取页面的内容,然后应用正则表达式。

Map<String, String> urlLinkText = new HashMap<String, String>();
String content = new String(page.getContentData(), page.getContentCharset());
Pattern pattern = Pattern.compile("<a[^>]*href="([^"]*)"[^>]*>([^<]*)</a[^>]*>", Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
    urlLinkText.put(matcher.group(1), matcher.group(2));
}

然后将urlLinkText粘贴到爬行完成后可以访问的地方。例如,您可以使它成为爬网程序类的私有成员,并添加一个getter。

相关内容

  • 没有找到相关文章

最新更新