比如,给一个起始链接:http://music.ent.163.com/
Rule:
rules = [
Rule(LinkExtractor(allow=r'/news/\d+/\d+/\d+.html'), callback='parse_item', follow=True),
Rule(LinkExtractor(allow=r'/special/[a-zA-Z]+/'), follow=True),
Rule(LinkExtractor(allow=r'/special/[a-zA-Z]+/[a-zA-Z]+/'), follow=True),
]
settings:
custom_settings = {
'DEPTH_LIMIT': 1,
}
Rule第一个是详情页的链接规则,下面两个是获取栏目页的链接的。settings设置了最大深度是1。
按照我的理解:根据起始链接,获取到起始链接页面符合条件的详情页链接,然后获取符合条件的栏目页链接,再获取栏目页面的详情页链接(不需要再根据详情页链接往下爬了)...
原始需求:
只爬1级,深度限制一下。比如start_urls给首页,会爬首页全部的详情页(但是不会再顺着详情页往下爬了),还会爬首页上的列表页,再爬列表页上的详情页(不会再往下爬了)