###
实际上,在一个列表页,上面详情页的地址,还有翻页的地址都是能获取到的,
我们是不是可以单独写一个函数,单独提取详情页的url,单独提取翻页的url?
crawlspider就是做的这个事情,
####
###
这就是创建好的爬虫,
首先继承的父类就是不一样的,
多了一个rules,这个就是定义规则的地方,
第一个参数就是正则表达式,
第二个callback 不是一定要的,可以没有这个参数,因为提取出的url,不需要处理
第三个参数,在提取url的下一个页面是否需要再次按照前面的规则继续提取,
parse函数不见了,这个地方不能定义parse函数,这个函数有特殊的用处,
####
案例:
###
第一个rule,是抓取详情页的标题和发布时间,所以需要callback,但是不需要在详情页继续抓取了,所以不需要fallow,
第二个rule,是为了抓取翻页,因为不需要处理,所以不需要callback,但是需要继续在第二页提取页码,所以需要fallow
####
代码很简单,但是思考会比较多,
这个crawlspider,也是可以主动构造请求的,
###
这个提取出的url地址,并不是完整的,但是crawlspider,自动帮我们补全了,
####
####