关于使用crawler4j库的Java web crwaler中的模式匹配的一些信息

关于使用crawler4j库的Java web crwaler中的模式匹配的一些信息,java,pattern-matching,web-crawler,crawler4j,Java,Pattern Matching,Web Crawler,Crawler4j,我想用Java实现一个非常简单的web爬虫程序,我发现了这个库:crawler4j: 我需要一个爬虫来做以下事情: 从URL(由我指定)开始,识别当前页面中是否有特定的单词,如自己的名称或公司名称(该单词也是由我指定的) 如果找到这个词,当前页面URL必须保存在数据库中 因此,没有语义分析,只有语法分析(爬虫程序必须尝试将网页内容与我指定的某个标记相匹配) 我知道这个标记研究(查找当前页面中是否包含单词)是否是由crawler4j的抽象类WebCrawler实现的功能,或者如果我必须自己实现它您

我想用Java实现一个非常简单的web爬虫程序,我发现了这个库:crawler4j:

我需要一个爬虫来做以下事情:

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

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

因此,没有语义分析,只有语法分析(爬虫程序必须尝试将网页内容与我指定的某个标记相匹配)


我知道这个标记研究(查找当前页面中是否包含单词)是否是由crawler4j的抽象类
WebCrawler
实现的功能,或者如果我必须自己实现它

您必须自己实现,代码中的一个起点将是visit()子类/方法,这在访问页面时调用。。。并解析给您,然后您可以对页面文本执行任何您想要的操作…例如使用正则表达式模式。

您必须自己实现它,代码中的一个起点是visit()子类/方法,这在访问页面时被调用。。。并解析给您,然后您可以对页面文本执行任何您想要的操作…例如使用regex模式。

正如用户1887511所指出的,实现起来非常简单。改编自


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