Python 如何按DFS顺序进行刮痧爬行

Python 如何按DFS顺序进行刮痧爬行,python,scrapy,Python,Scrapy,我有一个结构类似于 parse() 解析(2) 解析(3) 我希望刮痧爬网在dfs顺序的网页,即所有的3个链接,首先是2,然后1。但scrapy不会那样爬行。我已经尝试了所有的方法来实现这一点,但无法得到解决方案。有人能告诉我做这件事的正确方法吗 例: 提前感谢你的帮助 你检查了吗?没用。两种方法都试过了,但只有在使用并发请求、每个域下载、延迟或深度优先级降低速度的情况下,它才会以bfs顺序爬行。。。如果你提供一个完整的例子,我可以在这里尝试不同的设置 def parse(self, respo

我有一个结构类似于

  • parse()
  • 解析(2)
  • 解析(3)
  • 我希望刮痧爬网在dfs顺序的网页,即所有的3个链接,首先是2,然后1。但scrapy不会那样爬行。我已经尝试了所有的方法来实现这一点,但无法得到解决方案。有人能告诉我做这件事的正确方法吗

    例:


    提前感谢你的帮助

    你检查了吗?没用。两种方法都试过了,但只有在使用并发请求、每个域下载、延迟或深度优先级降低速度的情况下,它才会以bfs顺序爬行。。。如果你提供一个完整的例子,我可以在这里尝试不同的设置
    def parse(self, response):
    
       print "url1"
       yield scrapy.Request(url, callback=self.parse2)
    
    def parse2(self, response):
    
       print "url2"
       yield scrapy.Request(url, callback=self.parse3)
    
    def parse3(self, response):
    
       print "url3"
    
       # Do something
    
    
    Output should be something like
    
    url1
        url2
            url3
            ....
            ....
            ....
        url2
            url3
            ....
            ....
        url2
            url3
            ....
            ....
    url1