2016-09-20 3 views
2

Я работаю над настраиваемым плагином разбора для nutch и сталкивался с проблемой. Я хочу, чтобы сканировать все URL-адреса в определенной области семенного URL-адреса. Но nutch игнорирует внешние ссылки, и эти ссылки не сканируются.Внешние ссылки не сканируются

например: seed url - https://in.news.yahoo.com Он содержит ссылки на сайты, такие как timesofindia.com, thehindu.com и т. Д., Но эти ссылки не проходят сканирование.

Моего Nutch-site.xml содержит: -

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

И регулярное выражение-фильтр URL принимает что-нибудь еще. (С регулярными выражениями +.). Интересно, почему nutch игнорирует некоторые внешние ссылки в URL-адресе, указанном как семя. Пожалуйста, помогите

ответ

2

Попробуйте это, я нашел обходной путь для этого:

  • Добавить дополнительные фрагменты кода parsefilter.
  • Выберите ссылки, которые вы хотите просканировать, используя элементы селектора Jsoup. Например, я выбираю ссылки в определенном div
  • Установите этот новый выводOutLinks в результат анализа, и 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()]); 
+1

Thanks.It было полезно :) – Sachin

Смежные вопросы