CrawlSpider
CrawlSpider`
Rule对象
*CrawlSpider中最常用也是最重要的就是riles属性。rules是一个或一组R略对象,必须写成tuple形式。
每一个Rule对象定义了对目标网站的爬取行为,如果有多个Rule对象匹配同一个链接,就说明第一个Rule生效。*
class scrapy.spiders.Rule(
link_extractor,callback=None,cb_kwargs=None,
follow=None,process_links=None,process_request=None)
删除线格式
1.link_extactor是一个Link_Extractor对象,定义了需要从已爬取的页面中提取哪些需要继续跟进的链接,通过正则表达式来达到这一目的。
2.callback是一个回调函数或者字符串。传递字符串时,通过字符串查找奔雷中对应的函数名为回调函数,回调函数接受reponse作为第一参数,同事但会一个办函Item或者Response对象的列表。
Rule对象中不能使用parse作为回调函数,原因是CrawlSpider默认使用parse来实现爬虫逻辑,如果复写了parse,那么CrawlSpider将不能继续执行。
follow参数是一个布尔值,为true或者false。若为true,则需要跟进依据此条规则从Respnse中提取的简介;若为false,则不跟进。若callback指定为None,则follow默认为true,否则为false。
*process_links的功能为过滤。