TL;DR
--Requests est la bibliothèque HTTP ** moderne ** de Python.
requests.get ('URL')
..text
sur la réponse.Bibliothèque HTTP Python. Python a une bibliothèque appelée urllib2, mais comme l'explique le site officiel, «Requests est une bibliothèque HTTP sous licence Apache2, écrite en Python, pour les êtres humains.», Il est facile pour les humains de coder.
pip install requests
import requests
Il existe une correspondance biunivoque entre diverses méthodes HTTP.
# GET
requests.get('URL')
# POST
requests.post('URL')
# PUT
requests.put('URL')
# DELETE
requests.delete('URL')
#Obtenir l'en-tête
requests.head('URL')
Ajoutez params = à l'argument de la méthode de requête avec hachage
du paramètre à ajouter.
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('URL', params=payload)
Lors de la spécification d'un UA dans une requête GET
>>> headers = {'User-Agent': 'Sample Header'}
>>> requests.get('URL', headers=headers)
Lors de l'ajout de données à l'en-tête HTTP dans une requête POST
>>> payload = {'send': 'data'}
>>> requests.post('URL', data=json.dumps(payload))
text
Récupère le corps de la réponse renvoyée au format texte. La requête est automatiquement décodée en Unicode.
>>> r = requests.get('http://yahoo.com/')
>>> r.text
'<!DOCTYPE html>\n<html lang="en-US" class="dev-desktop uni-purple-border bkt901 https uni-dark-purple sasb-space" style="">\n<!-- m2 template -->\n<head>\n <meta http-equiv="Content-Type" ...
encoding
Obtenir des informations d'encodage
content
Obtenez le corps de la réponse au format binaire.
>>> import requests
>>> r = requests.get('http://www.fnal.gov/faw/designstandards/filesfordownload/FermiLogo_blue.gif')
>>> r.content
Utilisez le module Image de PIL.
>>> from PIL import Image
>>> from StringIO import StringIO
>>> r = requests.get('http://www.fnal.gov/faw/designstandards/filesfordownload/FermiLogo_blue.gif')
>>> i = Image.open(StringIO(r.content))
JSON
>>> requests.get('http://ci.nii.ac.jp/ncid/BB08796640.json').json()
{'@context': {'foaf': 'http://xmlns.com/foaf/0.1/', 'prism': 'http://prismstandard.org/namespaces/basic/2.0/', 'rdfs': 'http://www.w3.org/2000/01/rdf-schema#', 'owl': 'http://www.w3.org/2002/07/ ...
requests_use.py
# -*- coding: utf-8 -*-
import doctest
import requests
def sample(query):
""" requests sample that use qiita search api
>>> 'title' in sample('python')
True
>>> 'totle' in sample('python')
False
"""
q = {'q': query}
r = requests.get('https://qiita.com/api/v1/search', params=q)
return list(r.json()[0].keys())
if __name__ == "__main__":
doctest.testmod()
References
team information: (housyu, 3cdc8fdc466a6315c030)
Recommended Posts