Что бы я хотел сделать, это заполнить поля предметов, определенные в item.py, в разных функциях в файле spider.py, скажем в функции start_requests, где все запросы Я хотел бы заполнить поле «item_id».Заполнение предметов в scrapy в разных функциях по пауку
def start_requests(self):
forms = []
for item in self.yhd_items:
self.item["item_id"] = item.ItemCode
forms.append(FormRequest(self.base_url + item.ItemCode, method='GET',
callback = self.parse_search_result))
return forms
Обратите внимание, что я сделал экземпляр элементов в функции init. Таким образом, заполняется только элемент item_id и передается следующему методу парсера (parse_search_result). Другие поля в item.py будут заполнены следующей функцией и снова переданы другому методу парсера. Будет ли это законным?
Спасибо, что я искал –
@mehdix_ Вы должны принять ответ, если он отвечает на ваш вопрос. На стороне примечания, вы должны быть осторожны при передаче объектов, так как вы делаете запросы потребляющими больше памяти, и они уже являются наиболее потребляющим память компонентом скрипирования. – todinov
Если у меня есть две страницы - стр. 2 и стр. 3 - у которых есть части заполняемой информации, как я могу их последовательно вызвать в двух разных вариантах scrapy.Requests? Я могу передать наполовину заполненный элемент в «мета» для обоих, но я хочу, чтобы конечный «элемент» имел данные со страницы 1 + стр. 2 + стр. 3 - все вместе – dowjones123