TL;DR
--Requests ist Pythons ** moderne ** HTTP-Bibliothek.
Python-HTTP-Bibliothek. Python hat eine Bibliothek namens urllib2, aber wie die offizielle Website erklärt, ist "Requests eine Apache2-lizenzierte HTTP-Bibliothek, die in Python für Menschen geschrieben wurde"
pip install requests
import requests
Es gibt eine Eins-zu-Eins-Entsprechung zwischen verschiedenen HTTP-Methoden.
# GET
requests.get('URL')
# POST
requests.post('URL')
# PUT
requests.put('URL')
# DELETE
requests.delete('URL')
#Header abrufen
requests.head('URL')
Fügen Sie params = zum Argument der Anforderungsmethode mit dem Hash
des hinzuzufügenden Parameters hinzu.
>>> payload = {'key1': 'value1', 'key2': 'value2'}
>>> r = requests.get('URL', params=payload)
Beim Angeben einer UA in einer GET-Anforderung
>>> headers = {'User-Agent': 'Sample Header'}
>>> requests.get('URL', headers=headers)
Beim Hinzufügen von Daten zum HTTP-Header in einer POST-Anforderung
>>> payload = {'send': 'data'}
>>> requests.post('URL', data=json.dumps(payload))
text
Ruft den zurückgegebenen Antworttext im Textformat ab. Die Anforderung wird automatisch in Unicode dekodiert.
>>> 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
Codierungsinformationen abrufen
content
Holen Sie sich den Antworttext im Binärformat.
>>> import requests
>>> r = requests.get('http://www.fnal.gov/faw/designstandards/filesfordownload/FermiLogo_blue.gif')
>>> r.content
Verwenden Sie das Bildmodul von 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