Scrapy - 爬行网址的顺序

时间:2018-04-18 09:29:25

标签: python scrapy

我有scrapy和python的问题。 我有几个链接。我使用循环在一个脚本中抓取每个数据中的数据。但是,已爬网数据的顺序是随机的,或者至少与链接不匹配。

所以我无法将每个子页面的网址与输出的数据进行匹配。

喜欢:抓取的网址,data1,data2,data3。 数据1,数据2,数据3 =>没关系,因为它来自一个循环,但是如何添加到循环当前URL或者我可以设置链接列表的顺序?就像从列表中的第一个被抓取为第一个,第二个被抓取为第二个......

3 个答案:

答案 0 :(得分:0)

# -*- 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(),
    }

答案 1 :(得分:0)

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

答案 2 :(得分:-1)

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

DOWNLOAD_DELAY = 3

请求之间。

应该没有注释。默认情况下,它已被评论。