Scrapy的FormRequest没有给出结果

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Scrapy的FormRequest没有给出结果相关的知识,希望对你有一定的参考价值。

我正在使用Scrapy尝试在this网站上进行搜索。我正在改变的领域是NúmerodoProcesso na ORIGEM,id为'idNumeroOriginario'。

但是,Post方法似乎没有改变页面上的任何内容。

这是代码:

import scrapy
from scrapy.utils.response import open_in_browser

class MinimalSpider(scrapy.Spider):
    name = 'stj-spider'
    start_urls = ['https://ww2.stj.jus.br/processo/pesquisa/?aplicacao=processos.ea']

    def parse(self, response):
        headers = {'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'browserName': 'mozilla',
            'Connection': 'keep-alive',
            'Referer': 'https://ww2.stj.jus.br/processo/pesquisa/?aplicacao=processos.ea',
        }
        yield scrapy.FormRequest.from_response(
            response,
            headers=headers,
            formid='idForm',
            formdata={'idNumeroOriginario': '1234'},
            callback=self.after_search,
        )

    def after_search(self, response):
        open_in_browser(response)        
        print response.body

我也尝试过请求,但无济于事。似乎有一百个隐藏的输入使它变得非常困难。

无论如何,谢谢你的帮助。

答案

我们只需要改变一行就可以了:

formdata={'idNumeroOriginario': '1234'},

看看你如何指定idNumeroOriginario表格值。

问题是,idNumeroOriginario是一个id值,但表单输入name值用作表单请求参数名称,将其更改为:

formdata={'numeroOriginario': '1234'}, 

以上是关于Scrapy的FormRequest没有给出结果的主要内容,如果未能解决你的问题,请参考以下文章

Scrapy:FormRequest 不会自动填充 ASP.net 隐藏字段

Scrapy FormRequest 发送 JSON

Scrapy FormRequest返回400错误代码

如何使用scrapy登录没有表单元素的scrapy

登录时FormRequest Scrapy出现问题

在 scrapy shell 中呈现 JS 内容的 FormRequest