如何在DFS订单中进行Scrapy爬网

时间:2018-07-23 11:04:29

标签: python scrapy

我有一个易读的代码,其结构类似于

  1. parse()
  2. parse(2)
  3. parse(3)

我希望scrapy以dfs顺序对页面进行爬网,即所有3个链接首先由2个链接,然后是1个。但是scrapy不会以这种方式爬网。我尝试了所有方法来实现这一目标,但无法获得解决方案。有人可以建议我完成这项工作的正确方法

例如:

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

在此先感谢您的帮助。

0 个答案:

没有答案