Anforderungspython als String abrufen

Lesezeit: 2 Minuten

Benutzeravatar von Taimoor Khan
Taimoor Khan

Ich wollte eine Get-Anfrage in Python senden und sie als String zurückgeben. Ich möchte diese Saite irgendwann später als etwas verwenden. Gibt Python es auch standardmäßig im JSON-Format zurück?

req = requests.get(server, auth=('user',"pass"))

  • Wenn Sie nach einem High-Level-Wrapper suchen, ist der requests Bibliothek PyPi ist anständig.

    – Kellen

    30. September 2015 um 20:43 Uhr

  • Sprechen Sie über das Anfragemodul? Ich bin mir ziemlich sicher, dass get ein Response-Objekt zurückgibt, kein JSON oder einen String (aber Sie können beides vom Response-Objekt erhalten). Kannst du deinen Code posten?

    – Multivac

    30. September 2015 um 20:44 Uhr

  • Ich möchte es allerdings nicht in JSON, ich möchte nur einen String.

    – Taimoor Khan

    30. September 2015 um 20:45 Uhr

  • Code gepostet, ich bin mir nicht sicher, ob ich ihn als JSON, Objekt oder String bekomme. Ich hätte es gerne als Saite

    – Taimoor Khan

    30. September 2015 um 20:47 Uhr

  • Wie lautet die Antwort des Servers? Was macht print(req) gebe dir? Welche Ausgabe erhalten Sie und was ist Ihre? gewünscht Ausgang?

    – Kellen

    30. September 2015 um 20:51 Uhr

kakajans Benutzeravatar
kakajan

Verwenden Python-Anfragen. Überprüfen Sie den Link. Es gibt Beispiele, wie Sie JSON aus der Antwort erhalten.

req = requests.get(server, auth=('user',"pass"))
req.json()

Wenn Sie es als Zeichenfolge möchten, verwenden Sie

req.text

  • aber was ist, wenn ich es als String möchte?

    – Taimoor Khan

    30. September 2015 um 20:46 Uhr

  • @TaimoorKhan verwenden req.textes wird Ihnen im String-Format angezeigt, was von der Antwort zurückgegeben wurde

    – Kakajan

    30. September 2015 um 20:51 Uhr


  • Bitte beachten Sie Folgendes: type(req.json) ist die Klasse „dict“ type(req.json()) ist die Klasse „method“

    – jshi

    24. November 2018 um 7:51 Uhr


Anstatt die Antwort als Text abzurufen, ist es manchmal sinnvoller, sie in Bytes abzurufen, um sie später zu analysieren (.text gibt eine entschlüsselte .contentSo req.text == req.content.decode(req.encoding) ist immer wahr).

req = requests.get(url)
req.content

Es ist besonders nützlich, Daten von Webseiten (in ost- oder südasiatischen Sprachen) zu lesen, die eine Nicht-UTF-8-Kodierung wie ISO-8859-1 verwenden und Sie einen Parser wie BeautifulSoup verwenden möchten.

BeautifulSoup(req.text)      # <---- gibberish
BeautifulSoup(req.content)   # <---- OK

1453360cookie-checkAnforderungspython als String abrufen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy