这篇文章主要介绍python分布式爬虫中的规则有什么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
爬虫在找寻数据的时候,如果都随意把找到的数据搬运回来,不仅我们的内存装不下,而且会搬回来很多重复的数据,我们也没有办法一个个的进行筛选。这时候我们需要给爬虫制定带回来数据的规则,防止重复数据的产生。这样我们再来谈规则就很好理解了,可以看成是给爬虫制定的规则合集。
在规则中包含一个或多个规则对象,每个规则对爬取网站的动作定义了特定操作。如果多个规则匹配了相同的链接,则根据规则在本集合中被定义的顺序,第一个会被使用。
class scrapy.spiders.Rule ( ,,,,,,,link_extractor, ,,,,,,,callback =,, ,,,,,,,cb_kwargs =,, ,,,,,,,follow =,, ,,,,,,,process_links =,, ,,,,,,,process_request =,没有 )
,
- <李>
link_extractor:是一个链接器对象,用于定义需要提取的链接(链接器对象见下)。
李> <李>回调:从link_extractor中每获取到链接时,参数所指定的值作为回调函数,该回调函数接受一个响应作为其第一个参数。
李> <李>注意:当编写爬虫规则时,避免使用解析作为回调函数。由于CrawlSpider使用解析方法来实现其逻辑,如果覆盖了解析方法,爬行的蜘蛛将会运行失败。
李> <李>:是一个布尔值(布尔),指定了根据该规则从响应提取的链接是否需要跟进。如果调为None,跟着默认设置为真的,否则默认为假的。
李> <李>process_links:指定该蜘蛛中哪个的函数将会被调用,从link_extractor中获取到链接列表时将会调用该函数。该方法主要用来过滤。
李> <李>process_request:指定该蜘蛛中哪个的函数将会被调用,该规则提取到每个请求时都会调用该函数。(用来过滤请求)
李>有了规则给爬虫制定规范,我们就可以放心的把搜集数据的任务交给爬虫们了。
以上是“python分布式爬虫中的规则有什么用”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!