Как сделать петлю в ответной терапии. - PullRequest
0 голосов
/ 24 апреля 2019

Я соскребаю сайт 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 Ответ

0 голосов
/ 24 апреля 2019

Вы имеете в виду форматирование вашего кода?Попробуйте:

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})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...