ubuntuusers.de

Python/Requests

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels Python/Requests.

tassilomoedl

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

Der Artikel ist fertig. Ich bin zum Probelesen bereit.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

mal abgesehen von der Sinnhaftigkeit und dem Ubuntubezug des Artikels (das dürfen andere Beurteilen):

Das erst Beispiel ist wie dargestellt bzw. falsch. Man muss eben _nicht_ .text mit angeben. Wesentlich flexibler (=best pratice) ist man, wenn man die komplette Response eines Requests an einen Namen bindet und sich da dann raus holt, was man braucht:

1
2
3
4
5
6
7
8
9
>>> import requests
>>> data = requests.get('https://www.example.com')
>>> data
<Response [200]>
>>> data.text
'<!doctype html>\n<html>\n<head>\n    <title>Example Domain</title>\n\n    <meta charset="utf-8" />\n    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />\n    <meta name="viewport" content="width=device-width, initial-scale=1" />\n    <style type="text/css">\n    body {\n        background-color: #f0f0f2;\n        margin: 0;\n        padding: 0;\n        font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;\n        \n    }\n    div {\n        width: 600px;\n        margin: 5em auto;\n        padding: 2em;\n        background-color: #fdfdff;\n        border-radius: 0.5em;\n        box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);\n    }\n    a:link, a:visited {\n        color: #38488f;\n        text-decoration: none;\n    }\n    @media (max-width: 700px) {\n        div {\n            margin: 0 auto;\n            width: auto;\n        }\n    }\n    </style>    \n</head>\n\n<body>\n<div>\n    <h1>Example Domain</h1>\n    <p>This domain is for use in illustrative examples in documents. You may use this\n    domain in literature without prior coordination or asking for permission.</p>\n    <p><a href="https://www.iana.org/domains/example">More information...</a></p>\n</div>\n</body>\n</html>\n'
>>> dir(data)
['__attrs__', '__bool__', '__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__iter__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__nonzero__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setstate__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_content', '_content_consumed', '_next', 'apparent_encoding', 'close', 'connection', 'content', 'cookies', 'elapsed', 'encoding', 'headers', 'history', 'is_permanent_redirect', 'is_redirect', 'iter_content', 'iter_lines', 'json', 'links', 'next', 'ok', 'raise_for_status', 'raw', 'reason', 'request', 'status_code', 'text', 'url']
>>>

Das Beispiel mit dem post-Request macht wenig Sinn, weil ein Post-Request ohne Daten mitzugeben i.d.R. keinen Sinn macht.

Ansonsten ist der Artikel extrem dünn, das kratzt noch nicht mal ansatzweise an der Oberfläche. Wenn der Artikel durchgewunken werden sollte, dann sollte IMHO zumindest noch ein Beispiel für den Umgang mit JSON und vllt. auch, wie man Auth-Daten sendet, mitgegeben werden.

Die Auflistung der Fehler halte ich für sinnfrei, weil das requests Modul gem. Doku 🇬🇧 nur genau eine Exception kennt, nämlich ConnectionError.

Im Artikel fehlt noch die explizite Nennung des Pakets aus den Paketquellen. Außerdem ist im Wikiartikel kein einziger Link, noch nicht mal auf die Doku.

Wenn der Artikel durchgewunken werden sollte, dann bei auf requests umbenennen. Weil das Python-Modul nun mal genau so heißt.

Gruß, noisefloor

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb:

Hallo,

mal abgesehen von der Sinnhaftigkeit und dem Ubuntubezug des Artikels (das dürfen andere Beurteilen):

Das erst Beispiel ist wie dargestellt bzw. falsch. Man muss eben _nicht_ .text mit angeben. Wesentlich flexibler (=best pratice) ist man, wenn man die komplette Response eines Requests an einen Namen bindet und sich da dann raus holt, was man braucht

OK. Habe ich korrigiert.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb: > Die Auflistung der Fehler halte ich für sinnfrei, weil das requests Modul gem. Doku 🇬🇧 nur genau eine Exception kennt, nämlich ConnectionError.

OK. Habe ich entfernt

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb:

Das Beispiel mit dem post-Request macht wenig Sinn, weil ein Post-Request ohne Daten mitzugeben i.d.R. keinen Sinn macht.

OK. Habe ich entfernt.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb:

Außerdem ist im Wikiartikel kein einziger Link, noch nicht mal auf die Doku.

OK. Habe ich korrigiert.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

OK. Ich habe jetzt alle Fehler korrigiert und bin bereit für ein weiteres Probelesen.

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1533

Wohnort: Bad Oeynhausen

Hallo,

  • Die Links gehören eigentlich auch noch in eine separate Links-Sektion am Fuß des Artikels

  • Der Artikel bietet nur die absoluten Basics, da fehlt einfach die Substanz, unbedingt noch erweitern

  • Zum Ubuntu-Bezug:

 sudo apt install python3-requests 

für die Installation

  • Logo einfügen wäre gut

  • Getestet general wage ich zu bezweifeln

  • Den Artikel würde ich direkt mit Python verlinken, also sollte er Python/HTTP_Requests heißen

Ich finde auch, dass diese Bibliothek sehr gut dokumentiert ist, der Artikel also nicht unbedingt nötig. Ein paar Tipps zur Benutzung wären besser.

noisefloor Team-Icon

Anmeldungsdatum:
6. Juni 2006

Beiträge: 29567

Hallo,

Getestet general wage ich zu bezweifeln

Korrekt. Die aktuelle Version von requests, die im Artikel ja via pip installiert wird, braucht Python >= 3.7. Bionic bringt OOTB nur Python 3.6 mit.

Den Artikel würde ich direkt mit Python verlinken, also sollte er Python/HTTP_Requests heißen

Das Programm bzw. Modul heißt Request nicht HTTP_Requests

Gruß, noisefloor

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1533

Wohnort: Bad Oeynhausen

noisefloor schrieb:

Den Artikel würde ich direkt mit Python verlinken, also sollte er Python/HTTP_Requests heißen

Das Programm bzw. Modul heißt Request nicht HTTP_Requests

Das heißt, Python/Requests. Hab's umbenannt.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

karzer schrieb:

  • Zum Ubuntu-Bezug:

 sudo apt install python3-requests 

für die Installation

Aber Pip ist die offizielle Installationsquelle für Python-Module! Bei apt ist das Modul oft veraltet!

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1533

Wohnort: Bad Oeynhausen

tassilomoedl schrieb:

Aber Pip ist die offizielle Installationsquelle für Python-Module! Bei apt ist das Modul oft veraltet!

Das kann man ja zusätzlich da lassen.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

karzer schrieb:

tassilomoedl schrieb:

Aber Pip ist die offizielle Installationsquelle für Python-Module! Bei apt ist das Modul oft veraltet!

Das kann man ja zusätzlich da lassen.

OK. Ich habe zusätzlich zu Pip das Beispiel mit APT hinzugefügt.

tassilomoedl

(Themenstarter)

Anmeldungsdatum:
27. Juli 2022

Beiträge: 77

noisefloor schrieb:

Ansonsten ist der Artikel extrem dünn, das kratzt noch nicht mal ansatzweise an der Oberfläche. Wenn der Artikel durchgewunken werden sollte, dann sollte IMHO zumindest noch ein Beispiel für den Umgang mit JSON und vllt. auch, wie man Auth-Daten sendet, mitgegeben werden.

OK, das Beispiel mit der Authentifizierung habe ich hinzugefügt.

Zu JSON: Was hat denn das alles mit JSON zu tun???

karzer Team-Icon

Wikiteam
Avatar von karzer

Anmeldungsdatum:
10. April 2022

Beiträge: 1533

Wohnort: Bad Oeynhausen

tassilomoedl schrieb:

Zu JSON: Was hat denn das alles mit JSON zu tun???

JSON ist ein Format, mit welchem man Daten speichern kann und das im WWW oft genutzt wird. Viele Seiten veröffentlichen ihren Inhalt in HTML und oder auch nur JSON. Darum hat requests auch eine eigene Funktion.

Wenn Du dich also mit dem WWW beschäftigen solltest, kommst du darum nicht herum.

Ach so, Getestet/general bitte entfernen.

Antworten |