因此,有一个巴西政府网站(https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx),带有用于发送此POST请求的咨询按钮(“ Consultar”):
Request URL: https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx/ListarDocumentos
Request Method: POST
Payload: { dataDe: '', dataAte: '' , empresa: '', tipoDocumento: '-2', dataReferencia: '', categoria: '-1', tipo: '-1',
especie: '-1', periodo: '0', horaIni: '', horaFim: '', palavraChave:'',ultimaDtRef:'false', tipoEmpresa:'0'}
并返回此JSON作为响应:
{"d":{"__type":"Bovespa.Formularios.Shell.Presenters.RetornoTelaGerenciadorDocumento","temErro":false,
"expirouSessao":false,"msgErro":"","dados":"02504-6$&D1000 VAREJO FARMA PARTICIPAÇÕES S.A.$&Dados Eco
...
我正在尝试创建发送请求以获取上述响应的Python代码。
import requests
payload = { 'dataDe': '', 'dataAte': '' , 'empresa': '', 'tipoDocumento': '-2', 'dataReferencia': '', 'categoria': '-1', 'tipo': '-1', 'especie': '-1', 'periodo': '0', 'horaIni': '', 'horaFim': '', 'palavraChave':'','ultimaDtRef':'false', 'tipoEmpresa':'0'}
r = requests.post("https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx/ListarDocumentos", params=payload, verify=False)
print(r.text)
# Tried with JSON Decoder as well but no success
# data=r.json()
# print(data)
但这会返回网页的HTML内容,而不是所需的响应。如果将“ requests.post”更改为“ requests.get”,结果相同。
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1"><link href="App_Themes/CVM/Calendar/Skins/CVM/Calendar.css"
...
我也尝试在浏览器中发送GET请求,但未成功:
https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx/ListarDocumentos?dataDe=&dataAte=&empresa=&tipoDocumento=-2&dataReferencia=&categoria=-1&tipo=-1&especie=-1&periodo=0&horaIni=&horaFim=&palavraChave=&ultimaDtRef=false&tipoEmpresa=0
我感谢任何建议。
使用json=
in参数requests.post()
获取数据:
import json
import requests
payload = { 'dataDe': '', 'dataAte': '' , 'empresa': '', 'tipoDocumento': '-2', 'dataReferencia': '', 'categoria': '-1', 'tipo': '-1', 'especie': '-1', 'periodo': '0', 'horaIni': '', 'horaFim': '', 'palavraChave':'','ultimaDtRef':'false', 'tipoEmpresa':'0'}
r = requests.post("https://www.rad.cvm.gov.br/ENET/frmConsultaExternaCVM.aspx/ListarDocumentos", json=payload, verify=False)
data = r.json()
# print to screen:
print(json.dumps(data, indent=4))
印刷品:
{
"d": {
"__type": "Bovespa.Formularios.Shell.Presenters.RetornoTelaGerenciadorDocumento",
"temErro": false,
"expirouSessao": false,
"msgErro": "",
"dados": "02504-6$&D1000 VAREJO FARMA PARTICIPA\u00c7\u00d5ES S.A.$&Dados Econ\u00f4mico-Financeiros$&Press-release$&<spanOrder>Divulga\u00e7\u00e3o de
...
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句