Python: Добавить целое значение к самому себе в функции (для итерации) - PullRequest
0 голосов
/ 27 мая 2020

Я новичок в python. Написал scrapy spider и столкнулся с проблемой, когда url + элементы на странице нужно добавить к go на следующую страницу.

Мне нужно, чтобы функция, указанная ниже, выполнялась итерацией, а значение переменной pageoffset добавлялось самому себе после каждой итерации. Или любое предложение.

Как в C#: pageoffset = pageoffset + len (data ['filterItems']), но невозможно в python.

    def parse(self, response):
        data = json.loads(response.text)
        itemcount = data['resultCount']        
        for item in data['filteredItems']:
            yield{
                'Description' : item['availableColors'][0]['productCode'],
            }  
        pageoffset = len(data['filteredItems'])
        if pageoffset < itemcount:        
            yield scrapy.Request(url=response.url + pageoffset, callback=self.parse)

1 Ответ

1 голос
/ 27 мая 2020
import json
import scrapy

def parse(self, response):
  data = json.loads(response.text)
  itemcount = data['resultCount']        
  for item in data['filteredItems']:
    yield{
      'Description' : item['availableColors'][0]['productCode'],
    }  
  pageoffset += len(data['filteredItems'])
  if pageoffset < itemcount:        
    yield scrapy.Request(url=response.url + pageoffset, callback=self.parse)

Просто добавьте + перед = len(data['filteredItems']), это условно, как обновить переменную в Python через итерацию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...