【问题标题】:StormCrawler settingsStormCrawler 设置
【发布时间】:2018-03-23 15:47:47
【问题描述】:

我有几个关于 StormCrawler 的问题:http://stormcrawler.net/

1.拒绝Shops的爬取:

我尝试在 default-regex-filters.txt 中使用这个正则表达式:-(shop)。 这是正确的方法吗?因为 Stormcrawler 仍然会抓取在其 URL 中某处有“商店”的网站..

2。 “maxDepth”参数有什么作用?

我需要限制每个网站的抓取深度,例如只需爬取距 /home 站点“单击/级别”的页面。这是该用例的正确参数吗?如果没有这个选项在哪里?

3. Elasticsearch:发现和获取

我会理解发现应该总是大于获取。但是我遇到了获取>发现的情况。是否有对此的解释或发现和提取的确切含义是什么?

4.配置入口:parse.emitOutlinks

我真的不明白它的含义。有简单的解释吗?因为当我将它设置为 false 时,爬虫只爬取了 URL 的第一页,我不知道为什么。

5. “fetcherthreads”和“每个队列的线程数”之间的区别?

我们目前使用 200 个 fetcherthreads 和每个队列 20 个线程。这两者的比例如何?

很抱歉有这么多问题,但我非常感谢您的帮助。 提前谢谢!

问候,

乔乔

【问题讨论】:

    标签: apache web-crawler apache-storm stormcrawler


    【解决方案1】:

    1.拒绝Shops的爬取

    -.*(shop) 应该可以。您尝试的表达式不允许商店之前的任何字符

    2。 “maxDepth”参数有什么作用?

    是的,这正是它的作用。它跟踪种子 URL 的深度并过滤超出您设置的阈值的任何内容

    3. Elasticsearch:发现和获取

    Why do I have different document counts in status and index?

    为什么不看看教程和 WIKI?

    4.配置入口:parse.emitOutlinks

    顾名思义,此参数可防止解析器螺栓向状态流添加外链。当您不想扩展爬网并仅获取种子时,这很有用。

    5. “fetcherthreads”和“每个队列的线程数”之间的区别?

    Fetcher 线程是指 FetcherBolt 中用于获取 URL 的线程数。 FetcherBolt 根据它们的主机名(或域或 IP)将传入的 URL 放入内部队列,并且 fetcher 线程从这些队列中轮询。默认情况下,StormCrawler 每个内部队列只允许一个 fetcher 线程,这样爬取是礼貌的,不会过于频繁地向目标主机发送请求。

    如果您还没有这样做,我建议您查看Youtube 上的视频教程。

    【讨论】:

    • 感谢您的解释!我尝试使用: -.*(shop) 。这仅适用于: www.shop.com 但不适用于 www.idee-shop.com 。你知道为什么吗?你能再解释一下“外链”这个词吗?外链是特定 URL 中的链接,还是外链是重定向到完全不同的网站的链接?谢谢!
    • 不确定为什么该模式与商店不匹配,也许可以尝试不使用括号。外链只是在页面中找到的链接,无论它们指向什么。随意将上面的答案标记为已接受和/或有用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-21
    • 1970-01-01
    相关资源
    最近更新 更多