【问题标题】:External links are not getting crawled外部链接没有被抓取
【发布时间】:2016-09-20 12:10:27
【问题描述】:

我正在为 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 过滤器接受其他任何内容。(使用 regex +.)。 我想知道为什么 nutch 会忽略作为种子给出的 url 中的某些外部链接。请帮忙

【问题讨论】:

    标签: nutch


    【解决方案1】:

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

    • 向您的 parsefilter 添加一些额外的代码 sn-ps。
    • 使用 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()]);
    

    【讨论】:

    • 谢谢。很有帮助:)
    猜你喜欢
    • 1970-01-01
    • 2014-02-25
    • 2020-10-14
    • 1970-01-01
    • 2015-01-14
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多