我正在抓取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})
答案 0 :(得分:0)
您是要格式化代码吗?试试:
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})