标签: nutch

Nutch的另一种网络爬虫

我正在尝试建立一个专门的搜索引擎网站,为有限数量的网站编制索引.我想出的解决方案是:

  • 使用Nutch作为网络爬虫,
  • 使用Solr作为搜索引擎,
  • 前端和站点逻辑用Wicket编码.

问题是我发现Nutch非常复杂,而且它是一个很大的自定义软件,尽管事实上不存在详细的文档(书籍,最近的教程......等).

现在问题:

  1. 关于网站漏洞的任何建设性批评?
  2. 是否有一个很好但简单的替代Nutch(作为网站的爬行部分)?

谢谢

search-engine web-crawler nutch

20
推荐指数
1
解决办法
9152
查看次数

如何使用ManifoldCF或nutch抓取具有SAML身份验证的网站?

我试图抓取网站,更具体地Google Site使用ManifoldCF具有SAML认证和索引抓取的数据到Apache Solr实现.但是当我抓取URL时,它会让我302重定向到登录页面然后说RESPONSECODENOTINDEXABLE.

我不确定我是否正确认证.在manifoldCF中,我们有HTTP basic身份验证选项NTLM authenticationSession-based访问凭证身份验证方法.我使用的Session based身份验证方法更像是基于表单的身份验证而不是SAML身份验证.

有没有人使用带有SAML身份验证的manifoldCF来抓取网站?如果没有manifoldCF,有人能够通过Apache Nutch实现这一点,因为我担心,它也只提供HTTP基本DigestNTLM身份验证.

任何见解都会有所帮助.如果有人认为可以轻松完成,可以提供有关该问题的更多信息.基本上,当我抓取https://sites.google.com/a/my-sub-domain.com时,它会重定向到SSO登录页面,并且抓取工具拒绝抓取任何更多,从而产生302错误.这是一个基于内联网的网站.

solr nutch saml full-text-indexing manifoldcf

18
推荐指数
1
解决办法
907
查看次数

找不到段*文件

我需要访问lucene索引(通过使用Nutch抓取几个网页创建)但它给出了上面显示的错误:

java.io.FileNotFoundException: no segments* file found in org.apache.lucene.store.FSDirectory@/home/<path>: files:
    at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run(SegmentInfos.java:516)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:185)
    at org.apache.lucene.index.IndexReader.open(IndexReader.java:148)
    at DictionaryGenerator.generateDict(DictionaryGenerator.java:24)
    at DictionaryGenerator.main(DictionaryGenerator.java:56)
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索,但给出的理由不符合要求.显示文件(路径)的事实可能意味着该目录不为空.
谢谢

java lucene nutch

14
推荐指数
2
解决办法
2万
查看次数

使用Nutch履带与Solr

我能够将Apache Nutch爬虫与Solr Index服务器集成吗?

编辑:

我们的一位开发人员提出了这些帖子的解决方案

  1. 跑Nutch和Solr
  2. 运行Nutch和Solr的更新

回答

lucene solr nutch

13
推荐指数
2
解决办法
1万
查看次数

如何构建聚合器?

假设我想从多个来源(可能是旅行,技术或其他)汇总与特定利基相关的信息.我该怎么办?

有一个蜘蛛/爬虫将抓取网页以查找我需要的信息(我如何告诉抓取工具爬什么,因为我不想获得整个网络?)?然后有一个索引系统来索引和组织我抓取的信息,也是一个搜索引擎?

像Nutch lucene.apache.org/nutch这样的系统可以用于我想要的吗?你还推荐别的吗?

或者你能推荐另一种方法吗?

例如,Techmeme.com是如何构建的?(它是技术新闻的聚合器,它完全自动化 - 直到最近他们还增加了一些人为干预).建立这样的服务需要什么?

或者Kayak.com如何汇总他们的数据?(这是旅行聚合服务.)

web-services web-crawler nutch aggregation

13
推荐指数
2
解决办法
1万
查看次数

当我尝试运行nutch generate命令时,共享内存文件的空间不足

我已经运行了3周的nutch爬行命令,现在当我尝试运行任何nutch命令时,我得到以下错误

Java HotSpot(TM)64位服务器VM警告:共享内存文件的空间不足:/ tmp/hsperfdata_user/27050尝试使用-Djava.io.tmpdir =选项选择备用临时位置.

错误:无法找到或加载主类___.tmp.hsperfdata_user.27055

我该如何解决这个问题?

java jvm nutch

12
推荐指数
2
解决办法
5万
查看次数

Nutch在'http.agent.name'中没有列出代理商

Exception in thread "main" java.lang.IllegalArgumentException: Fetcher: No agents listed in 'http.agent.name' property.
        at org.apache.nutch.fetcher.Fetcher.checkConfiguration(Fetcher.java:1166)
        at org.apache.nutch.fetcher.Fetcher.fetch(Fetcher.java:1068)
        at org.apache.nutch.crawl.Crawl.run(Crawl.java:135)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:54)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
Run Code Online (Sandbox Code Playgroud)

每次我跑./nutch crawl urls -dir crawl -depth 3 -topN 5.nutch决定抛出这个错误.我有我的nutch-site.xml和nutch-default.xml设置.

 <property>
  <name>http.agent.name</name>
  <value>blah</value>
  </property>
Run Code Online (Sandbox Code Playgroud)

进行了描述,使其更容易阅读.但我没有看到可以指定代理名称的其他位置.如果有人有任何建议我会很感激.

web-crawler nutch

11
推荐指数
1
解决办法
6889
查看次数

Apache Nutch和Solr集成

我试图遵循nutch教程,但有一些schema.xml文件的问题.

我被告知nutch为我的项目提供了架构,基本上就是这个......

cp ${NUTCH_RUNTIME_HOME}/conf/schema.xml ${APACHE_SOLR_HOME}/example/solr/conf/
Run Code Online (Sandbox Code Playgroud)

我已经在Tomcat中部署了我的solr文件,当我去Solr仪表板时我得到的错误是

collection1: org.apache.solr.common.SolrException:org.apache.solr.common.SolrException:
Plugin init failure for [schema.xml] fieldType "text": 
Plugin init failure for [schema.xml] analyzer/filter:
Error loading class 'solr.EnglishPorterFilterFactory'
Run Code Online (Sandbox Code Playgroud)

这与我的solrconfig.xml文件中的这个元素有关(我可以对此进行评论但不确定它有多重要)

<filter class="solr.EnglishPorterFilterFactory" protected="protwords.txt"/>
Run Code Online (Sandbox Code Playgroud)

我编辑了我的solrconfig.xml,试图包含一系列与solr一起提供的jar文件

<lib path="/etc/solr/collection1/libs/dist/solr-core-4.2.1.jar" />
<lib path="/etc/solr/collection1/libs/dist/solr-analysis-extras-4.2.1.jar" />
Run Code Online (Sandbox Code Playgroud)

但我不认为它们包含缺少的类"solr.EnglishPorterFilterFactory"

有谁知道为什么这可能不起作用或我错过了什么?我不是一个Java开发人员,所以毫无疑问它会是简单的:)

更新 在发现架构中有一些旧类被引用之后我又在nutch/conf中看了一下,看起来好像有一个$ {NUTCH_RUNTIME_HOME} /conf/schema-solr4.xml文件似乎有效.

如果这是正确的,不是100%但是嘿......

linux lucene solr nutch

11
推荐指数
1
解决办法
4116
查看次数

从nutch获取链接

我正在使用nutch 1.3来抓取一个网站.我想获取一个已抓取的网址列表,以及来自网页的网址.

我获取使用readdb命令爬网的URL列表.

bin/nutch readdb crawl/crawldb -dump file
Run Code Online (Sandbox Code Playgroud)

有没有办法通过阅读crawldb或linkdb找出页面上的网址?

org.apache.nutch.parse.html.HtmlParser我看到的outlinks数组中,我想知道是否有一种从命令行访问它的快捷方法.

web-crawler nutch

10
推荐指数
1
解决办法
7088
查看次数

nutch vs solr indexing

我最近开始研究nutch,我正在努力了解它是如何工作的.据我所知,Nutch基本上用于抓取网络,solr/Lucene用于索引和搜索.但是当我阅读关于nutch的文档时,它说nutch也做了反向索引.它是否在内部使用Lucene进行索引,还是有其他一些用于索引的库?如果它使用solr/lucene进行索引,那么为什么有必要用nutch配置solr,正如nutch教程所说的那样?

索引是否默认完成.我的意思是我运行此命令来开始爬行.索引正在这里发生吗?

bin/nutch crawl urls -dir crawl -depth 3 -topN 5
Run Code Online (Sandbox Code Playgroud)

或者仅在这种情况下发生索引.(根据教程:如果您已经设置了Solr核心并希望为其编制索引,则需要将-solr参数添加到爬网命令中,例如)

bin/nutch crawl urls -solr http://localhost:8983/solr/ -depth 3 -topN 5
Run Code Online (Sandbox Code Playgroud)

lucene solr nutch

10
推荐指数
1
解决办法
4177
查看次数