【问题标题】:Get link text of links when crawling a website using crawler4j使用 crawler4j 抓取网站时获取链接的链接文本
【发布时间】:2012-03-07 23:49:06
【问题描述】:

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

提前致谢。

【问题讨论】:

    标签: html hyperlink web-crawler crawler4j


    【解决方案1】:

    在从 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。

    【讨论】:

      猜你喜欢
      • 2020-06-30
      • 1970-01-01
      • 2022-12-18
      • 2018-09-13
      • 2012-04-23
      • 1970-01-01
      • 2018-01-09
      • 2020-01-30
      • 1970-01-01
      相关资源
      最近更新 更多