Verwendung von Anfragen (Python Library)

TL;DR

--Requests ist Pythons ** moderne ** HTTP-Bibliothek.

Was sind Anfragen?

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"

Einführung

pip install requests

Wie benutzt man

Bibliothek importieren

import requests

Anfrage

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')

Parameter zuweisen

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)

Benutzerdefinierter Header

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))

Inhalt der Antwort

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

Verarbeitung für jede Antwort

Bild

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/ ...

Stichprobe

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

Verwendung von Anfragen (Python Library)
python3: Verwendung der Flasche (2)
[Python] Verwendung von Liste 1
Wie benutzt man Python Argparse?
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
Verwendung der C-Bibliothek in Python
Verwendung der Python-Bildbibliothek in der Python3-Serie
Python: So verwenden Sie Async mit
[Python] Verwendung der Pandas-Serie
Verwendung von SQLite in Python
[Python] Verwendung der Diagrammerstellungsbibliothek Altair
[Python] Verwendung von Liste 3 Hinzugefügt
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
Verwendung von ChemSpider in Python
Python: Verwendung von pydub (Wiedergabe)
Verwendung von PubChem mit Python
Verwendung der Zip-Funktion von Python
[Python] Verwendung der Typetalk-API
[Python] Verwendung von Matplotlib, einer Bibliothek zum Zeichnen von Diagrammen
[Python] Zusammenfassung der Verwendung von Pandas
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So installieren und verwenden Sie pandas_datareader [Python]
[Python] Verwendung von __command__, Funktionserklärung
[Python] Verwendung von import sys sys.argv
[Python] Organisieren der Verwendung für Anweisungen
Memorandum über die Verwendung von Gremlin Python
[Python2.7] Zusammenfassung der Verwendung von unittest
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von __slots__ in der Python-Klasse
Verwendung von "deque" für Python-Daten
Verwendung von Python zip und Aufzählung
[Python] Verstehen, wie rekursive Funktionen verwendet werden
Zusammenfassung der Verwendung der Python-Liste
Verwendung regulärer Ausdrücke in Python
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Verwendung ist und == in Python
[Frage] Wie verwende ich plot_surface von Python?
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
So installieren Sie Python
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von pytest_report_header
So installieren Sie Python
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt