#python #scrapy
#python #scrapy
Вопрос:
Я очищаю веб-сайт Dmoz. И я очищаю каждую страницу, но я не хочу писать response.follow()
каждый раз. Вместо этого я хочу создать цикл. Как сделать так, чтобы я просто писал page_name
и function_name
вместо того, чтобы писать целую строку кода снова и снова.
yield response.follow(self.about_page, self.parse_about, meta={'items': items})
yield response.follow(self.editor, self.parse_editor, meta={'items': items})
yield response.follow(self.suggestion, self.suggest_site, meta={'items':items})
yield response.follow(self.help_page, self.parse_help, meta={'items':items})
Ответ №1:
Вы имеете в виду форматирование вашего кода? Попробуйте:
dct = [
(self.about_page, self.parse_about),
(self.editor, self.parse_editor),
(self.suggestion, self.suggest_site),
(self.help_page, self.parse_help),
]
for page, callback in dct:
yield response.follow(page, callback, meta={'items': items})
Комментарии:
1. Спасибо. У меня есть еще одна проблема, которую вы могли бы решить.
2. Извините, я не знал. Теперь я закончил. Но у меня есть вопрос относительно другой проблемы