为什么我的提交表单网页垃圾代码不起作用?

2024-04-28 05:20:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试访问此站点的表:https://aplicacoes.mds.gov.br/sagirmps/estrutura_fisica/preenchimento_municipio_cras_new1.php

因此,你需要选择一个州的形式“Selecione um estado”,然后将有一个新的形式为城市称为“Selecione um munic”í“pio”。当你选择了你想要的城市,你得到的表被刮。但我的代码只获取网站初始状态的html代码:

import requests
url = 'http://aplicacoes.mds.gov.br/sagirmps/estrutura_fisica/preenchimento_municipio_cras_new1.php'
data = {'Selecione um estado':'SP - São Paulo', 'Selecione um município': 'Bauru'}
r = requests.post(url, data = data)

r.text

我试过在post请求中使用params而不是data,但两种方法都不起作用


Tags: brdatamdsumgovphpfisicanew1
1条回答
网友
1楼 · 发布于 2024-04-28 05:20:02

它需要为我忽略SSL证书错误。请尝试以下内容(感谢at@SIM的评论和建议)

import requests
from bs4 import BeautifulSoup  
import pandas as pd
import urllib3; urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
url = 'https://aplicacoes.mds.gov.br/sagirmps/estrutura_fisica/preenchimento_municipio_cras_new1.php'
params ={
    'uf_ibge' : '27',
    'nome_estado' : 'AL - Alagoas',
    'p_ibge' : '2700201',
    'nome_municipio' : 'Anadia'
}


r = requests.post(url, params = params, verify=False).
soup = BeautifulSoup(r.text, "lxml")
tables = pd.read_html(r.text)
print(tables[1])

这是给阿拉戈斯和阿纳迪亚的

相关问题 更多 >