如何限制 Scrapy 爬虫的链接级别?

时间:2021-02-27 22:00:55

标签: scrapy

对于此示例代码:

import scrapy


class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://quotes.toscrape.com/page/1/',
    ]

    def parse(self, response):
        for quote in response.css('div.quote'):
            yield {
                'text': quote.css('span.text::text').get(),
                'author': quote.css('span small::text').get(),
                'tags': quote.css('div.tags a.tag::text').getall(),
            }

        next_page = response.css('li.next a::attr(href)').get()
        if next_page is not None:
            yield response.follow(next_page, callback=self.parse)

如果我的爬虫最多访问3级链接,如何限制?不是访问的链接总数,而是链接相对于初始链接的级别。

1 个答案:

答案 0 :(得分:0)

您可以在蜘蛛中使用 DEPTH_LIMIT setting 以限制深度 抓取:

class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = [
        'http://quotes.toscrape.com/page/1/',
    ]
    custom_settins = {
        `DEPTH_LIMIT`:3
    }
    ...
相关问题