外部链接未被抓取

External links are not getting crawled

我正在为 nutch 开发一个自定义解析插件,运行 遇到了一个问题。我想抓取种子 url 特定区域中的所有 URL。但是 nutch 会忽略外部链接,这些链接不会被抓取。

例如:种子 url - https://in.news.yahoo.com 它包含指向 timesofindia.com、thehindu.com 等网站的链接,但这些链接未被抓取。

我的坚果-site.xml 包含:-

<property>
  <name>db.ignore.external.links</name>
  <value>false</value>
</property>

并且 regex-url 过滤器接受任何其他内容。(使用 regex +.)。 我想知道为什么 nutch 会忽略作为种子给出的 url 中的某些外部链接。请帮助

试试这个,我找到了一个解决方法:

  • 向您的解析过滤器添加一些额外的代码片段。
  • Select 您希望使用 Jsoup 选择器元素抓取的链接。 例如,我正在选择特定 div
  • 中的链接
  • 将此 newOutLinks 设置为您的解析结果,Nutch 将接受此链接并开始抓取。

第 2 步的代码示例:

List<Outlink> outLinks=new ArrayList<Outlink>(); 
Outlink outLink;
String link; 
Elements elements = document.select("div.show a[href]"); 
for (Element element : elements) {
link=element.absUrl("href"); 
outLink=new Outlink(absoluteUrl,element.text()); 
outLinks.add(outLink); 
}
Outlink[] newOutLinks = (Outlink[])outLinks.toArray(new Outlink[outLinks.size()]);