Ich denke, alle Antworten sind ziemlich gut. Aber weniger Details über urllib3.urllib3 ist ein sehr mächtiger HTTP-Client für Python. Für die Installation werden beide der folgenden Befehle funktionieren,
urllib3
mit pip,
pip install urllib3
oder Sie können den neuesten Code von Github erhalten und ihn mit installieren,
$ git clone git://github.com/urllib3/urllib3.git
$ cd urllib3
$ python setup.py install
Dann sind Sie startklar,
Importieren Sie einfach urllib3 mit,
import urllib3
Anstatt direkt eine Verbindung zu erstellen, benötigen Sie hier eine PoolManager-Instanz, um Anfragen zu stellen. Diese kümmert sich um das Pooling von Verbindungen und um die Thread-Sicherheit für Sie. Außerdem gibt es ein ProxyManager-Objekt für die Weiterleitung von Anfragen über einen HTTP/HTTPS-Proxy Hier können Sie sich auf die Dokumentation beziehen. Beispielverwendung :
>>> from urllib3 import PoolManager
>>> manager = PoolManager(10)
>>> r = manager.request('GET', 'http://google.com/')
>>> r.headers['server']
'gws'
>>> r = manager.request('GET', 'http://yahoo.com/')
>>> r.headers['server']
'YTS/1.20.0'
>>> r = manager.request('POST', 'http://google.com/mail')
>>> r = manager.request('HEAD', 'http://google.com/calendar')
>>> len(manager.pools)
2
>>> conn = manager.connection_from_host('google.com')
>>> conn.num_requests
3
Wie bereits in urrlib3
Dokumentationen, urllib3
bietet viele wichtige Funktionen, die in den Python-Standardbibliotheken fehlen.
- Gewindesicherheit.
- Pooling von Verbindungen.
- Client-seitige SSL/TLS-Verifizierung.
- Datei-Uploads mit Multipart-Kodierung.
- Hilfsprogramme für die Wiederholung von Anfragen und den Umgang mit HTTP-Umleitungen.
- Unterstützung für gzip- und deflate-Kodierung.
- Proxy-Unterstützung für HTTP und SOCKS.
- 100%ige Testabdeckung.
Weitere Einzelheiten finden Sie im Benutzerhandbuch.
requests
Anfragen verwendet urllib3
unter der Haube und machen es noch einfacher, die requests
und Daten abrufen. Zum einen ist keep-alive 100% automatisch, im Vergleich zu urllib3
wo das nicht der Fall ist. Es hat auch Ereignis-Hooks, die eine Callback-Funktion aufrufen, wenn ein Ereignis ausgelöst wird, wie z.B. der Empfang einer Antwort In requests
hat jede Anforderungsart ihre eigene Funktion. Anstatt also eine Verbindung oder einen Pool zu erstellen, erhalten Sie direkt eine URL.
Für die Installation requests
mit pip einfach ausführen
pip install requests
oder Sie können einfach aus dem Quellcode installieren,
$ git clone git://github.com/psf/requests.git
$ cd requests
$ python setup.py install
Dann, import requests
Hier können Sie die offizielle Dokumentation , Für einige fortgeschrittene Verwendungszwecke wie Sitzungsobjekt, SSL-Verifizierung und Event Hooks lesen Sie bitte hier nach url .
25 Stimmen
Diese Frage sollte aktualisiert werden, um klarzustellen, dass
urllib
in Python 3 ist eine weitere Option, die auf verschiedene Weise bereinigt wurde. Aber glücklicherweise weist die offizielle Dokumentation auch darauf hin, dass " Das Paket Requests wird für eine übergeordnete HTTP-Client-Schnittstelle empfohlen. " unter 21.6. urllib.request - Erweiterbare Bibliothek zum Öffnen von URLs - Python 3.6.3 Dokumentation20 Stimmen
Leider habe ich keine Antworten gefunden, die mir sagen, was ich tun soll.
urllib3
ist und wieurllib3
unterscheidet sich von der offiziellenurllib
Modul.3 Stimmen
Wahrscheinlich erwähnenswert httpx - die neuere requests-backwords-kompatible async-Bibliothek.