1
我正在使用crawler4j来抓取网站。当我访问一个页面时,我想要获取所有链接的链接文本,而不仅仅是完整的URL。这可能吗?使用crawler4j获取链接文本链接时使用crawler4j
在此先感谢。
我正在使用crawler4j来抓取网站。当我访问一个页面时,我想要获取所有链接的链接文本,而不仅仅是完整的URL。这可能吗?使用crawler4j获取链接文本链接时使用crawler4j
在此先感谢。
在您从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。