Я не могу изменить значение глобальной переменной.
Variable i : не знаю, увеличилось ли значение, и укажите его значение в PGroup in * 1007 Оператор * IF .
global i
i = i + 1
Переменная PGroup : не отображает изменения согласно оператору IF .
global PGroup
if i == 1:
PGroup == 'Person_1'
elif i == 2:
PGroup == 'Person_2'
elif i == 3:
PGroup == 'Person_3'
Значения PGroup, которые я получил после запуска кода, - это «ТЕСТ», что я объявил в начале своего кода. Кто-нибудь может помочь? Полная кодовая последовательность ниже:
import scrapy
from datetime import date
today = date.today()
d1 = today.strftime("%d/%m/%Y")
PGroup = 'TEST'
i = 0
class NewSpider(scrapy.Spider):
name = 'LEARNING1'
allowed_domains = ['www.example']
start_urls = [
'https://www.example/abc/',
'https://www.example/def/',
'https://www.example/ghi/',
]
def parse(self, response):
global i
i = i + 1
global PGroup
if i == 1:
PGroup == 'Person_1'
elif i == 2:
PGroup == 'Person_2'
elif i == 3:
PGroup == 'Person_3'
urls = response.xpath("//a[@class='setPage'][contains(@href,'?page=')]/text()").getall()
for url in urls:
if url:
url_Ny = response.url +'?&page=' + url.strip()
yield scrapy.Request(url= url_Ny, callback=self.parse_all, encoding='utf-8')
def parse_all(self, response):
for data in response.xpath("//div[@class='col-xs-6 col-md-4 product-wrap js-send-ga-product-click js-send-ga-products-impressions']"):
item = {
'Col_1' : data.xpath(".//@data-name").extract_first(),
'Col_2': data.xpath(".//@data-brand").extract_first(),
'Col_3' : PGroup,
'Col_4': data.xpath(".//@data-price").extract_first(),
'Col_5': d1,
}
yield item