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。