type - Python 3 Obtener la página HTTP
string methods python 3 (5)
¿Cómo puedo obtener python para obtener el contenido de una página HTTP? Hasta ahora todo lo que tengo es la solicitud y he importado http.client.
Agregue este código que puede formatear datos para lectura humana:
text = f.read().decode(''utf-8'')
También puede utilizar la biblioteca de solicitudes. Encontré esto particularmente útil porque era más fácil recuperar y mostrar el encabezado HTTP.
import requests
source = ''http://www.pythonlearn.com/code/intro-short.txt''
r = requests.get(source)
print(''Display actual page/n'')
for line in r:
print (line.strip())
print(''/nDisplay all headers/n'')
print(r.headers)
Uso de módulo incorporado "http.client"
import http.client
connection = http.client.HTTPSConnection("api.bitbucket.org", timeout=2)
connection.request(''GET'', ''/2.0/repositories'')
response = connection.getresponse()
print(''{} {} - a response on a GET request by using "http.client"''.format(response.status, response.reason))
content = response.read().decode(''utf-8'')
print(content[:100], ''...'')
Resultado:
200 OK - una respuesta en una solicitud GET usando "http.client" {"pagelen": 10, "valores": [{"scm": "hg", "website": "", "has_wiki": true, "nombre": "tweakmsg", "enlaces ...
Uso de la biblioteca de terceros "solicitudes"
response = requests.get("https://api.bitbucket.org/2.0/repositories")
print(''{} {} - a response on a GET request by using "requests"''.format(response.status_code, response.reason))
content = response.content.decode(''utf-8'')
print(content[:100], ''...'')
Resultado:
200 OK - una respuesta en una solicitud GET usando "http.client" {"pagelen": 10, "valores": [{"scm": "hg", "website": "", "has_wiki": true, "nombre": "tweakmsg", "enlaces ...
Uso de módulo incorporado "urllib.request"
response = urllib.request.urlopen("https://api.bitbucket.org/2.0/repositories")
print(''{} {} - a response on a GET request by using "urllib.request"''.format(response.status, response.reason))
content = response.read().decode(''utf-8'')
print(content[:100], ''...'')
Resultado:
200 OK - una respuesta en una solicitud GET usando "http.client" {"pagelen": 10, "valores": [{"scm": "hg", "website": "", "has_wiki": true, "nombre": "tweakmsg", "enlaces ...
Notas:
- Python 3.4
- El resultado de las respuestas probablemente será diferente solo contenido
Usar urllib.request
es probablemente la forma más fácil de hacer esto:
import urllib.request
f = urllib.request.urlopen("http://.com")
print(f.read())
https://.com/a/41862742/8501970 Comprueba esto en su lugar. Se trata del mismo problema que tiene y este es muy simple y muy pocas líneas de códigos. Esto me ayudó cuando me di cuenta de que python3 no puede usar simplemente get_page.
Esta es una buena alternativa. (Espero que esto ayude, salud!)