标签: nutch

使用Bixo构建垂直爬虫

我遇到了一个开源爬虫Bixo.有人试过吗?你能分享一下学习吗?我们能否轻松构建定向爬虫(与Nutch/Heritrix相比)?谢谢Nayn

java web-crawler nutch

3
推荐指数
1
解决办法
1609
查看次数

如何加快Nutch的爬行速度

我正在尝试开发一个应用程序,在其中我将为Nutch中的urls文件提供一组受限制的URL.我能够抓取这些网址,并通过从细分中读取数据来获取它们的内容.

我已经通过给出深度1来抓取,因为我不关心网页中的外链或链接.我只需要url文件中该网页的内容.

但执行此爬网需要时间.所以,建议我一种减少爬行时间和提高爬行速度的方法.我也不需要索引,因为我不关心搜索部分.

有没有人有关于如何加快爬行的建议?

web-crawler nutch

3
推荐指数
3
解决办法
5711
查看次数

为什么Nutch似乎不知道"Last-Modified"?

我使用60000的db.fetch.interval.default设置Nutch,这样我每天都可以爬行.如果我不这样做,那么当我第二天爬行时,它甚至都不会看我的网站.但是当我第二天抓取时,昨天获取的每个页面都会获得一个200响应代码,表明它没有在"If-Modified-Since"中使用前一天的日期.它不应该跳过提取未更改的页面吗?有没有办法让它做到这一点?我注意到Fetcher.java中有一个ProtocolStatus.NOT_MODIFIED,所以我认为它应该可以做到这一点,不应该吗?

顺便说一句,这是从当前主干的conf/nutch-default.xml剪切和粘贴的:

<!-- web db properties -->

<property>
  <name>db.default.fetch.interval</name>
  <value>30</value>
  <description>(DEPRECATED) The default number of days between re-fetches of a page.
  </description>
</property>

<property>
  <name>db.fetch.interval.default</name>
  <value>2592000</value>
  <description>The default number of seconds between re-fetches of a page (30 days).
  </description>
</property>
Run Code Online (Sandbox Code Playgroud)

web-crawler nutch

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

Nutch:在一定深度内抓取每个网址

我的问题是从某个种子列表开始抓取每个页面和每个文档.

我已经安装了nutch并使用以下命令运行它:

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

我希望nutch进程能够抓取类似于100 url的内容,但它说它只找到了11个文档.所以我试着用这个命令运行nutch:

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

它找到了23个文件.

我正在从测试种子http://nutch.apache.org开始运行该过程

为什么nutch有这种行为?如何设置nutch从我的种子开始在一定深度抓取每个URL?

nutch

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

crawler + elasticsearch集成

我无法找到,如何抓取网站和索引数据到elasticsearch.我设法在组合nutch + solr中做到这一点,因为nutch应该能够从版本1.8导出数据直接到elasticsearch (),我试图再次使用nutch.然而,我没有成功.试图调用之后

$ bin/nutch elasticindex
Run Code Online (Sandbox Code Playgroud)

我明白了:

Error: Could not find or load main class elasticindex
Run Code Online (Sandbox Code Playgroud)

我不坚持使用nutch.我只需要最简单的方法来抓取网站并将它们编入索引到elasticsearch.问题是,我无法找到任何分步教程,我对这些技术还很陌生.

所以问题是 - 将爬虫与弹性搜索集成的最简单的解决方案是什么,如果可能的话,我将不胜感激任何一步一步的解决方案.

search-engine web-crawler nutch elasticsearch

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

Nutch不会使用查询字符串参数来抓取网址

我正在使用Nutch1.9并尝试使用单个命令进行爬网.当进入第二级生成器返回0记录时可以看出输出.任何人都遇到过这个问题?我被困在这里过去2天.搜索了所有可能的选项.任何线索/帮助将非常感激.

<br>#######  INJECT   ######<br>
Injector: starting at 2015-04-08 17:36:20 <br>
Injector: crawlDb: crawl/crawldb<br>
Injector: urlDir: urls<br>
Injector: Converting injected urls to crawl db entries.<br>
Injector: overwrite: false<br>
Injector: update: false<br>
Injector: Total number of urls rejected by filters: 0<br>
Injector: Total number of urls after normalization: 1<br>
Injector: Total new urls injected: 1<br>
Injector: finished at 2015-04-08 17:36:21, elapsed: 00:00:01<br>
####  GENERATE  ###<br>
Generator: starting at 2015-04-08 17:36:22<br>
Generator: Selecting best-scoring urls due for fetch.<br>
Generator: filtering: true<br>
Generator: normalizing: …
Run Code Online (Sandbox Code Playgroud)

java web-crawler nutch

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

如何增加 Apache Nutch 爬虫获取的文档数量

我正在使用 Apache Nutch 2.3 进行爬行。开始时种子中有大约 200 个 url。现在,随着时间的推移,文档爬虫的数量将会减少或最多与开始时相同。

如何配置 Nutch 以便增加我抓取的文档?有没有什么参数可以控制文档数量?其次,如何统计每天抓取的文档数量?

web-crawler nutch

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

在Nutch 2.x中提取HTML元标记并使用Solr 4索引它

我正在使用Nutch 2.0来抓取一些网站,但我没有看到HTML元标记,如标题,描述被提取并存储在MySQL数据库中.任何想法我怎么能让它工作?

谢谢Arash

apache solr nutch

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

从scrapy提取20万个域中的文本

我的问题是:我想从某个域中提取所有有价值的文本,例如www.example.com。因此,我转到该网站并访问深度最大为2的所有链接,并将其写入csv文件。

我用scrapy编写了模块,使用1个进程解决了这个问题,并产生了多个爬虫,但是效率很低-我能够抓取〜1k域/〜5k网站/ h,据我所知,瓶颈是CPU(因为GIL?)。离开PC一段时间后,我发现网络连接断开。

当我想使用多个进程时,我只是从扭曲中得到了错误:并行进程中Scrapy Spiders的多处理因此,这意味着我必须学习扭曲,与asyncio相比,我会说我已弃用,但这只是我的见解。

所以我有几个想法怎么办

  • 进行反击,并尝试使用Redis来学习扭曲并实现多处理和分布式队列,但是我不认为scrapy是适合这种工作的工具。
  • 使用pyspider-具有我需要的所有功能(我从未使用过)
  • 适可而止-这是如此复杂(我从未使用过)
  • 尝试构建自己的分布式搜寻器,但是在搜寻了4个网站之后,我发现了4种极端情况:SSL,重复项,超时。但是添加一些修改很容易,例如:集中爬网。

您推荐什么解决方案?

Edit1:共享代码

class ESIndexingPipeline(object):
    def __init__(self):
        # self.text = set()
        self.extracted_type = []
        self.text = OrderedSet()
        import html2text
        self.h = html2text.HTML2Text()
        self.h.ignore_links = True
        self.h.images_to_alt = True

    def process_item(self, item, spider):
        body = item['body']
        body = self.h.handle(str(body, 'utf8')).split('\n')

        first_line = True
        for piece in body:
            piece = piece.strip(' \n\t\r')
            if len(piece) == 0:
                first_line = True
            else:
                e = ''
                if not self.text.empty() and not first_line and not …
Run Code Online (Sandbox Code Playgroud)

python web-crawler nutch scrapy pyspider

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

Nutch - 无法从资源org/sonar/ant/antlib.xml加载定义

我正在通过官方指南学习 Nutch.所以当我在bin目录下运行 Ant时,它说:

"无法从资源加载定义org/sonar/ant/antlib.xml.无法找到它."

我花了很多时间在谷歌解决它,但我失败了.我的操作系统是Ubuntu16.04.

输入图像说明

java ant ubuntu nutch

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