__VIEWSTATE,__ EVENTVALIDATION,__ EVENTTARGET以及刮擦和飞溅的问题

时间:2018-10-24 04:37:25

标签: python web-scraping scrapy scrapy-splash scrapy-shell

我如何使用刮擦/飞溅处理__VIEWSTATE,__ EVENTVALIDATION和__EVENTTARGET?

我尝试过

return FormRequest.from_response(response,
    [...]
    '__VIEWSTATE': response.css(
    'input#__VIEWSTATE::attr(value)').extract_first(),

但这不起作用。

1 个答案:

答案 0 :(得分:0)

您需要将字典用作formdata关键字arg。

(出于可读性考虑,我建议您先提取到变量中)

def parse(self, response):
    vs = response.css('input#__VIEWSTATE::attr(value)').extract_first()
    ev = # another extraction
    et = # a third extraction
    return scrapy.FormRequest.from_response(
        response,
        formdata={'__VIEWSTATE': vs,
            '__EVENTVALIDATION': ev,
            '__EVENTTARGET': et },
        callback=self.your_callback
    )

有关更多信息,请参见this doc