Scrapy - 使用多个按钮提交表单

时间:2017-03-04 21:12:47

标签: python html web-scraping html-form scrapy-spider

我开始使用scrapy并且我设法爬过一系列表单,但最后一个表单有两个按钮,拒绝和接受。

<input name="_eventId_AttributeReleaseRejected" style="margin-right: 30px;" type="submit" value="Reject"> 
<input name="_eventId_proceed" type="submit" value="Accept">

如何告诉scrapy选择接受? 我用过这段代码

def thirdForm(self, response):
    yield FormRequest.from_response(response, 
        formname="Form",
        callback=self.parseResponse)

但它默认选择拒绝,我怎样才能超越这个?

1 个答案:

答案 0 :(得分:3)

我发现了如何操作,您可以使用名为clickdata的属性指定要提交的按钮 它是一个python字典,包含您要提交的按钮的名称和/或值。

这里是编辑后的代码

def thirdForm(self, response):
        yield FormRequest.from_response(response, 
            formname="Form",
            clickdata={"name":"_eventId_proceed", 'value' :'Accept'},
            callback=self.parseResponse)