crawlspider能不能只爬当前链接的数据?

比如,给一个起始链接: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给首页,会爬首页全部的详情页(但是不会再顺着详情页往下爬了),还会爬首页上的列表页,再爬列表页上的详情页(不会再往下爬了)

阅读 1.1k
1 个回答

先获取列表页 然后根据数据判断爬详情页

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题