StormCrawler 设置

StormCrawler settings

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

1。拒绝抓取商店:

我尝试在默认正则表达式中使用此正则表达式-filters.txt:-(shop)。 这是正确的方法吗?因为 stormcrawler 仍然抓取 URL 中某处有 "shop" 的网站..

2。 "maxDepth"参数有什么作用?

我需要能够限制每个网站的抓取深度,例如只抓取距离 /home 站点 "one click/level" 的页面。这是该用例的正确参数吗?如果没有,这个选项在哪里?

3。 Elasticsearch:发现并获取

我明白发现的应该总是比获取的大。但是我遇到了获取 > 发现的情况。是否有对此的解释或发现的内容以及获取的内容的确切含义?

4.配置入口:parse.emitOutlinks

我不太明白它的意思。有一个简单的解释吗?因为当我设置为 false 时,爬虫只抓取了 URL 的第一页,我不知道为什么

5. "fetcherthreads"和"threads per Queue"的区别?

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

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

此致,

乔乔

1.拒绝抓取店铺

-.*(shop) 应该可以。您尝试的表达式不允许在 shop

之前使用任何字符

2。 "maxDepth" 参数有什么作用?

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

3。 Elasticsearch:发现并获取

为什么不看看教程和 WIKI?

4.配置入口:parse.emitOutlinks

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

5. "fetcherthreads"和"threads per Queue"的区别?

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

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