外部链接未被抓取
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()]);
我正在为 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()]);