Estou usando a biblioteca de solicitações e acessando um site para coletar dados dele com o seguinte código:
r = requests.get(url)
Quero adicionar um teste de erro para quando um URL impróprio for inserido e um erro 404 for retornado. Se eu inserir intencionalmente um URL inválido, quando fizer isso:
print r
Eu entendi isso:
<Response [404]>
EDITAR:
Eu quero saber como testar isso. O tipo de objeto ainda é o mesmo. Quando eu faço r.content
ou r.text
, simplesmente obtenho o HTML de uma página 404 personalizada.
python
python-requests
user1427661
fonte
fonte
Respostas:
Veja o
r.status_code
atributo :Demo:
Se você deseja
requests
gerar uma exceção para códigos de erro (4xx ou 5xx), ligue parar.raise_for_status()
:Você também pode testar o objeto de resposta em um contexto booleano; se o código de status não for um código de erro (4xx ou 5xx), será considerado 'verdadeiro':
Se você quiser ser mais explícito, use
if r.ok:
.fonte
.get()
vez de chamar uma função posteriormente.