我正在尝试访问此站点的表: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
我尝试在发布请求中使用params
而不是data
,但它们都不起作用。
它需要为我忽略 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])
这是给阿拉巴马的 - 阿拉戈斯和阿纳迪亚