外部链接未被抓取

时间:2016-09-20 12:10:28

标签: nutch

我正在为nutch开发自定义解析插件并遇到问题。我想抓取种子网址的特定区域中的所有网址。但是nutch忽略了外部链接,这些链接没有被抓取。

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

我的nutch-site.xml包含: -

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

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

1 个答案:

答案 0 :(得分:2)

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

  • 在parsefilter中添加一些其他代码段。
  • 使用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()]);