Почему мой код отправки веб-кода не работает? - PullRequest
0 голосов
/ 29 марта 2019

Я пытаюсь получить доступ к таблицам этого сайта: 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 в запросе на публикацию, но ни один из них не сработал.

1 Ответ

1 голос
/ 29 марта 2019

Нужно было игнорировать ошибки SSL Cert для меня. Попробуйте следующее (спасибо @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])

Это было для АЛ - Алагоас и Анадия

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...