Python的scrapy爬虫框架—Rule

本文详细介绍了Scrapy框架中的Rule概念,用于设定链接抽取的规则。Rule通过restrict_xpath限制只从页面特定区域抽取链接,follow参数决定是否跟进链接。CrawlSpider是为全站爬取设计的爬虫,其特性包括allow和deny规则、LinkExtractor链接筛选器、restrict_xpaths和restrict_css等,用于控制爬取范围和路径。callback函数则定义了处理可爬取URL后的响应内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解释:
Rule是在定义抽取链接的规则,上面的两条规则分别对应列表页的各个分页页面和详情页,关键点在于通过restrict_xpath来限定只从页面特定的部分来抽取接下来将要爬取的链接。

follow=False(不跟进), 只提取首页符合规则的url,然后爬取这些url页面数据,callback解析
follow=True(跟进链接), 在次级url页面中继续寻找符合规则的url,如此循环,直到把全站爬取完毕

Rule(LinkExtractor(allow=(r'https://www.23us.so/top/lastupdate_'),), follow=True),
Rule(LinkExtractor(allow=(r'\d+/index.html'),deny=(r'https://www.23us.so/top/postdate_')),callback='parse_item', follow=True),
        

3.CrawlSpider详解
在Scrapy基础——Spider中,我简要地说了一下Spider类。Spider基本上能做很多事情了,但是如果你想爬取知乎或者是简书全站的话,你可能需要一个更强大的武器。
CrawlSpider基于Spider,但是可以说是为全站爬取而生。

简要说明

CrawlSpider是爬取那些具有一定规则网站的常用的爬虫,它基于Spider并有一些独特属性

allow:这里用的是re过滤,我们其实就是start_urls加上我们这个匹配到的具体链接下的内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值