scrapy框架使用-crawlspider类

###

scrapy框架使用-crawlspider类

 

实际上,在一个列表页,上面详情页的地址,还有翻页的地址都是能获取到的,

我们是不是可以单独写一个函数,单独提取详情页的url,单独提取翻页的url?

 crawlspider就是做的这个事情,

####

scrapy框架使用-crawlspider类

 

###

scrapy框架使用-crawlspider类

 

 这就是创建好的爬虫,

首先继承的父类就是不一样的,

 

多了一个rules,这个就是定义规则的地方,

第一个参数就是正则表达式,

第二个callback 不是一定要的,可以没有这个参数,因为提取出的url,不需要处理

第三个参数,在提取url的下一个页面是否需要再次按照前面的规则继续提取,

 

parse函数不见了,这个地方不能定义parse函数,这个函数有特殊的用处,

####

案例:

scrapy框架使用-crawlspider类

 

###

第一个rule,是抓取详情页的标题和发布时间,所以需要callback,但是不需要在详情页继续抓取了,所以不需要fallow,

第二个rule,是为了抓取翻页,因为不需要处理,所以不需要callback,但是需要继续在第二页提取页码,所以需要fallow

####

代码很简单,但是思考会比较多,

 scrapy框架使用-crawlspider类

 

这个crawlspider,也是可以主动构造请求的,

### 

scrapy框架使用-crawlspider类

 

 

 scrapy框架使用-crawlspider类

 

 scrapy框架使用-crawlspider类

 

 这个提取出的url地址,并不是完整的,但是crawlspider,自动帮我们补全了,

scrapy框架使用-crawlspider类

 

 

####

 

 

####

上一篇:【Kafka源码】Kafka启动过程


下一篇:[题解]LeetCode 1553. 吃掉 N 个橘子的最少天数(C++)(腾讯笔试题)