我有几个关于风暴爬虫的问题:http://stormcrawler.net/
1.拒绝商店爬行:
我尝试在default-regex-filters.txt:-(shop)中使用这个正则表达式。这样做对吗?因为stormcrawler仍然会爬行那些url中某处有“商店”的网站。。
2.“maxdepth”参数做什么?
我需要的可能性,以限制每个网站的爬行深度,例如,只是爬行的网页是“一键/水平”远离/主页。这是该用例的正确参数吗?如果没有,在哪里可以选择?
3.elasticsearch:已发现并获取
我会理解,发现总是比获取大。但我发现了一些案子。有没有一个解释,或者发现了什么,提取的确切含义是什么?
4.配置条目:parse.emitoutlinks
我真的不明白它的意思。有什么简单的解释吗?因为当我将其设置为false时,爬虫程序只对url的第一页进行了爬网,我不知道为什么。
5.“fetcherthreads”和“每个队列的线程数”之间的区别?
我们目前使用200个fetcherthreads和每个队列20个线程。这两个比例如何?
很抱歉问了这么多问题,但我真的很感谢你的帮助。提前谢谢!
当做,
乔乔
1条答案
按热度按时间cld4siwp1#
1.否认商店的拥挤
-这(商店)应该管用。您尝试的表达式不允许任何字符
2.“maxdepth”参数做什么?
是的,它就是这样做的。它跟踪来自种子url的深度,并过滤超出您设置的阈值的任何内容
3.elasticsearch:已发现并获取
为什么我在状态和索引中有不同的文档计数?
为什么不看看教程和wiki呢?
4.配置条目:parse.emitoutlinks
顾名思义,此参数阻止解析器向状态流添加大纲链接。当您不想展开爬网并仅获取种子时,这非常有用。
5.“fetcherthreads”和“每个队列的线程数”之间的区别?
fetcher threads是fetcherbolt中用于获取url的线程数。fetcherbolt根据传入的url的主机名(或域或ip)将其放入内部队列,fetcher线程从这些队列轮询。默认情况下,stormcrawler只允许每个内部队列有一个获取程序线程,这样爬网是有礼貌的,不会太频繁地向目标主机发送请求。
如果你还没有这么做,我建议你看看youtube上的视频教程。