我正在建立一个蜘蛛爬行不同的标签页。
在某些情况下,我需要提取一个URL以转到下一页:
url = i.css('a').attrib['href']
yield response.follow(url=url, callback=self.parse_menu)
在某些情况下,我不需要转到不同的页面,但仍希望转到管道中的下一步(parse_menu
),因此我执行以下操作:
yield response.follow(url=response.url,callback=self.parse_menu)
第一个场景运行良好,但在第二个场景中,parse_menu
永远不会被调用。
我想我在请求和回调的工作方式上可能遗漏了一些东西。
提前感谢!
2条答案
按热度按时间bmp9r5qi1#
我不确定我是否很好地理解了您的意思,但我认为您发送了两次相同的请求,因此需要将dont_filter设置为True。
nzk0hqpo2#
请尝试: