我有个关于scrapy和python的问题。我有几个链接。我使用循环在一个脚本中抓取每个脚本中的数据。但抓取数据的顺序是随机的,或者至少与链接不匹配。
所以我不能将每个子页面的url与输出的数据进行匹配。
喜欢:抓取的网址,data1,data2,data3。Data 1,data2,data3 =>这是可以的,因为它来自一个循环,但是我如何添加到循环的当前url,或者我可以设置链接列表的顺序?就像列表中的第一个被抓取为第一个,第二个被抓取为第二个...
发布于 2018-04-18 18:16:54
# -*- 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(),
}发布于 2018-04-18 19:14:39
time.sleep() -这是一个解决方案吗?
发布于 2018-04-18 19:59:50
好的,看起来解决方案在settings.py文件中。
DOWNLOAD_DELAY =3
请求之间。
它应该是未注释的。默认情况下,它是注释的。
https://stackoverflow.com/questions/49896079
复制相似问题