我想使用Java实现一个非常简单的Web搜寻器,并且找到了以下库:crawler4j:http://code.google.com/p/crawler4j/

我需要执行以下操作的搜寻器:

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

如果找到该单词,则必须将当前页面URL保存在数据库中。

因此,没有语义分析,只有语法分析(搜寻器必须尝试将网页内容与我指定的某些令牌相匹配)

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

最佳答案

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

  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()):
            }
  }

07-28 00:55