我想用Java实现一个非常简单的网络爬虫,我找到了这个库:crawler4j:http://code.google.com/p/crawler4j/
我需要一个能做以下事情的爬虫:
从URL(由我指定)开始,识别当前页面中是否有特定单词,如自己的姓名或公司名称(该单词也由我指定
如果找到这个单词,则必须将当前页面的URL保存在数据库中。
因此,没有语义分析,只有句法分析(爬网程序必须尝试将网页内容与我指定的一些令牌相匹配)
我想知道这个令牌研究(查找当前页面中是否包含单词)是由crawler4j的抽象类WebCrawler
实现的功能,还是我必须自己实现
正如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()):
}
}
您必须自己实现它,代码中的一个起点是visit()子类/方法,当访问页面时会调用它。。。并解析给你,然后你可以对页面文本做任何你想做的事情。。。例如使用正则表达式模式。