通用爬虫 crawlspider 多站点爬取

通用爬虫scrapy

一 crawlspider
crawlspider 是scrapy提供的一个通用爬虫,crawlspider 继承了spider类,除了拥有spider类的所有方法和属性。crawlspider还拥有着自己的属性和方法

  1. 属性rules :它定义了爬取网站的规则,是一个包含一个或多个rule的列表,每个rule都对网站的爬取规则做了定义,crawlspider会对rules中的rule进行一个个解析。
  2. 属性parse_start_url: 它是一个可以重写的方法当start_url中的Request的到Response时,它会分析Response并返回Item对象或是 Response对象

rule参数解析

  • link_extractor:是linkExtractor对象,通过它,spider可以知道从爬取页面中提取哪些链接,提取出的链接自动会生成Request,比较常用
  • allow是一个正则表达式或正则表达式列表,定义了符合要求的且需要跟进的链接。allow_domain相当于白名单,里面的链接符合要求,会生成新的Requestdeny_domain相当于黑名单
  • restrict_xpath:定义了从当前页面中XPath匹配的区域提取链接,其值是XPath表达式或XPath表达式列表。
  • restrict_css定义了从当前页面中CSS选择器匹配的区域提取链接,其值是CSS选择器或CSS选择器列表。还有一些其他参数代表了提取链接的标签、是否去重、链接的处理等内容,使用的频率不高。
  • callback:即回调函数,和之前定义Requestcallback有相同的意义。每次从link_extractor中获取到链接时,该函数将会调用。该回调函数接收一个response作为其第一个参数,并返回一个包含ItemRequest对象的列表。注意,避免使用parse()作为回调函数。由于CrawlSpider使用**parse()方法来实现其逻辑,如果parse()**方法覆盖了,CrawlSpider将会运行失败。
  • cb_kwargs:字典,它包含传递给回调函数的参数。
  • follow:布尔值,即TrueFalse,它指定根据该规则从response提取的链接是否需要跟进。如果callback参数为Nonefollow默认设置为True,否则默认为False
  • process_links:指定处理函数,从link_extractor中获取到链接列表时,该函数将会调用,它主要用于过滤。
  • process_reque
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值