我正在尝试抓取当地新闻报道的档案,并获得了预期的结果。有没有办法让我对爬虫进行编程,使得每个页面上的静态按钮(例如Home,Button和它们的页脚都不相同)不包含在爬行中
这是我用来显示已抓取数据的代码
System.out.println(Jsoup.parse(html).body().text_mod());
答案 0 :(得分:4)
我看到了两个针对您的问题的解决方案,一个通用解决方案和一个临时解决方案。
要从网站获取内容,您可以使用boilerpipe等工具删除样板代码。这将导致获取库提取的文本。但是,你几乎无法控制套管内的内容。
您可以使用Jsoup删除树中不需要的节点。为此,您将获得由Jsoup处理的文档:
Document doc = Jsoup.parse(html):
然后使用Jsoup选择器获取要从页面中删除的节点。请参阅此处的文档:Jsoup selectors。选择节点后,使用Element类中的remove方法。
答案 1 :(得分:1)
shouldVisit方法怎么样?您可以根据URL模式添加条件,例如:
@Override
public boolean shouldVisit(WebURL url) {
String href = url.getURL().toLowerCase();
return (!href.contains("static/button/url/"));
}
这适合我。