Scrapy的FormRequest没有给出结果

问题描述 投票:2回答:1

我正在使用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

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

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

python request scrapy
1个回答
1
投票

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

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

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

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

formdata={'numeroOriginario': '1234'}, 
© www.soinside.com 2019 - 2024. All rights reserved.