0

我想使用 Java 实现一个非常简单的网络爬虫,我找到了这个库: crawler4j: http://code.google.com/p/crawler4j/

我需要一个执行以下操作的爬虫:

从一个 URL(由我指定)开始并识别当前页面中是否有特定单词,例如自己的名称或公司名称(这个单词也是由我指定的)

如果找到这个词,当前页面的 URL 必须保存在数据库中。

所以,没有语义分析,只有句法分析(爬虫必须尝试将网页内容与我指定的某些令牌匹配)

我会知道这个令牌研究(查找当前页面中是否包含一个单词)是由WebCrawlercrawler4j 的抽象类实现的功能还是我必须自己实现它

4

2 回答 2

2

正如 user1887511 所指出的,实现起来非常简单。改编自这里

  static String wordToFind = "...";
  public void visit(Page page) {          
            if (page.getParseData() instanceof HtmlParseData) {
                    HtmlParseData htmlParseData = (HtmlParseData) page.getParseData();
                    String text = htmlParseData.getText();
                    if(text.indexOf(wordToFind)!=-1)
                            saveToDB(page.getWebURL().getURL()):
            }
  }
于 2013-03-29T14:29:19.753 回答
1

你必须自己实现它,代码中的起点是 visit() 子类/方法,当访问页面时调用它......并解析给你,然后你可以对页面做任何你想做的事情 - text ...例如使用正则表达式模式。

于 2013-02-28T10:51:37.207 回答