Python Scrapy-已爬网URL的顺序

Python Scrapy-已爬网URL的顺序,python,scrapy,Python,Scrapy,我对scrapy和python有意见。 我有几个链接。我使用循环在一个脚本中从它们中获取数据。但爬网数据的顺序是随机的,或者至少与链接不匹配 所以我无法将每个子页面的url和输出的数据进行匹配 比如:爬网url、数据1、数据2、数据3。 data1,data2,data3=>这没关系,因为它来自一个循环,但是我如何才能将当前url添加到循环中,或者如何设置链接列表的顺序?就像列表中的第一个被爬网为第一个一样,第二个被爬网为第二个…time.sleep()-这是一个解决方案吗?好的,解决方案似乎在

我对scrapy和python有意见。 我有几个链接。我使用循环在一个脚本中从它们中获取数据。但爬网数据的顺序是随机的,或者至少与链接不匹配

所以我无法将每个子页面的url和输出的数据进行匹配

比如:爬网url、数据1、数据2、数据3。
data1,data2,data3=>这没关系,因为它来自一个循环,但是我如何才能将当前url添加到循环中,或者如何设置链接列表的顺序?就像列表中的第一个被爬网为第一个一样,第二个被爬网为第二个…

time.sleep()-这是一个解决方案吗?

好的,解决方案似乎在scrapy的settings.py文件中

# -*- coding: utf-8 -*-
import scrapy


class sth(scrapy.Spider):
    name = 'sth'
    allowed_domain = ['example.com']
    start_urls = [ 
         'https://www.example.com/url1/',
         'https://www.example.com/url2/',
         'https://www.example.com/url3/',
    ]

def parse(self, response):
          for content in response.css('div#content'):
               yield {
                    'data1': content.css('li#name2::text').extract(),
                    'data2': content.css('li#name1::text').extract(),
    }
下载延迟=3

在请求之间


它应该是未注释的。默认情况下,它是注释的。

可能重复的。您能否向我们提供部分代码,以便我们了解问题所在?这不是正确的解决方案,它似乎只解决了您的“问题”。Scrapy是异步的,这意味着您不能指望响应的传入顺序,这取决于网络速度(IO)。如果必须按顺序下载,则需要自己维护一个堆栈,只有在收到上一个请求的响应后才能从中弹出。但是我很确定您不需要它,因为您可以简单地将URL附加到iteself:
产生{'URL':response.URL,}