Python-Requests, extrahieren URL-Parameter aus einer Zeichenfolge

8

Ich benutze diese wunderbare Bibliothek namens requests , um Python 2 & amp; 3 Kompatibilität und vereinfachen meine Anwendung Anfragen Verwaltung.

Ich habe einen Fall, in dem ich eine URL parsen und einen ihrer Parameter ersetzen muss. ZB:

%Vor%

Und ich möchte das bekommen:

%Vor%

Mit dem urllib kann ich es auf diese Weise erreichen:

%Vor%

Wie können Sie dasselbe mit der requests Bibliothek erreichen?

    
Gab 04.02.2015, 18:38
quelle

1 Antwort

26

Sie können requests nicht dafür verwenden; Die Bibliothek erstellt solche URLs, wenn sie eine Python-Struktur für die Parameter übergeben, bietet jedoch keine Tools zum Parsen. Das ist kein Ziel des Projekts.

Bleiben Sie bei der Methode urllib.parse , um die Parameter zu analysieren. Sobald Sie ein Wörterbuch oder eine Liste von Schlüssel-Wert-Tupeln haben, übergeben Sie diese einfach an requests , um die URL erneut zu erstellen:

%Vor%

Sie können die Funktionen urlparse und parse_qs sowohl in Python 2 als auch in 3 erhalten. Sie müssen nur den Importort anpassen, wenn Sie eine Ausnahme erhalten.

Demo auf Python 3 (ohne den Import Exception Guard), um zu demonstrieren, dass die URL erstellt wurde:

%Vor%     
Martijn Pieters 04.02.2015, 18:40
quelle