首页 > 解决方案 > Scrapy:下一个按钮使用 WebForm_DoPostBackWithOptions()

问题描述

我正在尝试从https://seminovos.localiza.com/Paginas/resultado-busca.aspx?&yr=2014_2019&pc=25000_500000抓取一些信息

在此网页中,next_page 按钮具有href以下内容:'javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$ctl42$g_f221d036_75d3_4ee2_893d_0d7b40180245$ProximaPaginaSuperior", "", true, "", "", false, true))

我可以用 Selenium 轻松做到这一点,但是使用 scrapy,我怎样才能转到下一页?

我试过类似的东西:

next_page = response.xpath('.//a[@class="item option next"]/@href').extract_first()

if next_page:
    self.log(next_page)
    scrapy.http.FormRequest(response.url,formdata={"eventTarget":"ctl00$ctl42$g_f221d036_75d3_4ee2_893d_0d7b40180245$ProximaPaginaSuperior","eventArgument":"","validation":"true","validationGroup":"","actionUrl":"","trackFocus":"false","clientSubmit":"true"},callback=self.parse)

在这种情况下导航到下一页的正确方法是什么?

标签: pythonasp.netscrapy

解决方案


找出您的网络浏览器在您单击该请求时执行的请求的详细信息,并尝试根据可用数据重现它。

可以使用 scrapy 从使用 AJAX 的网站中抓取动态内容的答案吗?应该让您了解解决此问题的方法。还有一个对 Scrapy 文档的拉取请求,其中涵盖了处理这种类型的场景,您可能会发现它很有用。


推荐阅读