Comment puis-je obtenir python pour obtenir le contenu d'une page HTTP? Jusqu'à présent, tout ce que j'ai, c'est la demande et j'ai importé http.client.
Utiliser urllib.request
est probablement le moyen le plus simple de procéder:
import urllib.request
f = urllib.request.urlopen("http://stackoverflow.com")
print(f.read())
Module intégré d'utilisation "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], '...')
Résultat:
200 OK - une réponse à une demande GET en utilisant "http.client" {"page": 10, "valeurs": [{"scm": "hg", "site web": "", "has_wiki": true, "name": "tweakmsg", "links ...
Utilisation de la bibliothèque tierce "demandes"
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], '...')
Résultat:
200 OK - une réponse à une demande GET en utilisant "http.client" {"page": 10, "valeurs": [{"scm": "hg", "site web": "", "has_wiki": true, "name": "tweakmsg", "links ...
Module intégré d'utilisation "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], '...')
Résultat:
200 OK - une réponse à une demande GET en utilisant "http.client" {"page": 10, "valeurs": [{"scm": "hg", "site web": "", "has_wiki": true, "name": "tweakmsg", "links ...
Remarques:
Vous pouvez également utiliser la bibliothèque de demandes. J'ai trouvé cela particulièrement utile car il était plus facile de récupérer et d'afficher l'en-tête 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)
https://stackoverflow.com/a/41862742/8501970 Cochez plutôt cette option. C'est à peu près le même problème que vous avez et celui-ci est très simple et très peu de lignes de codes ..__ Cela m'a certainement aidé lorsque j'ai réalisé que python3 ne pouvait pas utiliser simplement get_page.
C’est une bonne alternative ..__ (espère que cela aide, bravo!)
demandes d'installation de pip
import requests
r = requests.get('https://api.spotify.com/v1/search?type=artist&q=beyonce')
r.json()
Ajoutez ce code qui peut formater les données pour une lecture humaine:
text = f.read().decode('utf-8')