我有scrapy和python的问题。 我有几个链接。我使用循环在一个脚本中抓取每个数据中的数据。但是,已爬网数据的顺序是随机的,或者至少与链接不匹配。
所以我无法将每个子页面的网址与输出的数据进行匹配。
喜欢:抓取的网址,data1,data2,data3。 数据1,数据2,数据3 =>没关系,因为它来自一个循环,但是如何添加到循环当前URL或者我可以设置链接列表的顺序?就像从列表中的第一个被抓取为第一个,第二个被抓取为第二个......
答案 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
请求之间。
应该没有注释。默认情况下,它已被评论。