Scrapy 跟随 javascript 输入按钮

Scrapy follow javascript input button

我在页面上有以下输入:

<input name="ct99" value="" id="ct99" class="GetData" type="submit">
<input name="ct92" value="" id="ct92" class="GetData" type="submit">
<input name="ct87" value="" id="ct87" class="GetData" type="submit">

class GetData 显示一些可点击的图标。单击它时,将打开新页面。一些 JavaScript 负责处理。我该如何关注?

我已经在尝试下面的代码只是为了看看 scrapy 是否跟随输入,但没有成功。

def parse(self, response):
    sel = Selector(response)

    links = sel.xpath("//input[@class='GetData']").extract()
    for data in links:
        yield scrapy.FormRequest.from_response(response,
            formdata={}, callback=self.after_click)


def after_click(self, response):
    url = response.url
    print '\nURL', url

有两种常见的方法来解决这个问题:

  • 使用浏览器开发人员工具(“网络”选项卡),检查单击特定按钮时发送的请求,然后使用 scrapy.Requestscrapy.FormRequest
  • 模拟此请求
  • 使用 selenium 使浏览器自动化:找到按钮并单击它,然后抓住 .page_source 并实例化一个 Selector 实例,请在此处查看示例:

    • Scrapy with Selenium crawling but not scraping