Anfängerfrage: URL aufrufen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sprudel
User
Beiträge: 248
Registriert: Donnerstag 8. März 2007, 17:12

Sonntag 11. März 2007, 17:20

Hi.
Ich habe mal eine Anfängerfrage. Habe dazu leider nichts im Internet gefunden, deswegen frage ich hier.

Ich würde gerne eine URL aufrufen, und dann die erhaltene Webseite in einer Variable speichern können. Wie könnte ich das denn machen?
Vielen Dank im vorraus
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Sonntag 11. März 2007, 17:35

Hi sprudel,

Code: Alles auswählen

import urllib

html_quelltext = urllib.urlopen('http://python-forum.de').read()
Mehr auf http://docs.python.org/lib/module-urllib.html
achim
User
Beiträge: 10
Registriert: Dienstag 11. Juli 2006, 18:48

Sonntag 11. März 2007, 17:40

Noch eine Lösung steht in der Documentation unter httplib:

Mit der "GET"-Methode:

Code: Alles auswählen

>>> import httplib
>>> conn = httplib.HTTPConnection("www.python.org")
>>> conn.request("GET", "/index.html")
>>> r1 = conn.getresponse()
>>> print r1.status, r1.reason
200 OK
>>> data1 = r1.read()
>>> conn.request("GET", "/parrot.spam")
>>> r2 = conn.getresponse()
>>> print r2.status, r2.reason
404 Not Found
>>> data2 = r2.read()
>>> conn.close()
Mit der "POST"-Methode:

Code: Alles auswählen

>>> import httplib, urllib
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> headers = {"Content-type": "application/x-www-form-urlencoded",
...            "Accept": "text/plain"}
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80")
>>> conn.request("POST", "/cgi-bin/query", params, headers)
>>> response = conn.getresponse()
>>> print response.status, response.reason
200 OK
>>> data = response.read()
>>> conn.close()
Gruss
Achim
sprudel
User
Beiträge: 248
Registriert: Donnerstag 8. März 2007, 17:12

Sonntag 11. März 2007, 18:18

Vielen Dank erstmal.
Jetzt hab ich noch Probleme mit dem zweiten Schritt. Ich wollte eigentlich dass sich das Script erst auf meiner Internetseite einloggt (wofür ich dort in PHP einen eigenen Schritt gemacht habe), allerdings scheint Python keine Cookies annehmen zu wollen. Jetzt meine Frage: Ist das überhaupt möglich?
Ich weiß, ich mache vielleicht alles etwas umständlich, aber ich wollte eigentlich nur für den Mitgliederbereich auf meiner Internetseite ein Interface in Python erzeugen.
EyDu
User
Beiträge: 4871
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Sonntag 11. März 2007, 19:11

Schau dir mal die "cookielib" aus der Standard Library an.
sprudel
User
Beiträge: 248
Registriert: Donnerstag 8. März 2007, 17:12

Sonntag 11. März 2007, 19:21

Hi vielen Dank.
Jetzt gibts es für mich nur noch die Frage wie ich Daten per POST an das Internet übertragen kann. Fällt euch da was ein?
apollo13
User
Beiträge: 827
Registriert: Samstag 5. Februar 2005, 17:53

Sonntag 11. März 2007, 19:34

Die gibt es, sie dir mal die examples an:
http://docs.python.org/lib/httplib-examples.html
achim
User
Beiträge: 10
Registriert: Dienstag 11. Juli 2006, 18:48

Sonntag 11. März 2007, 20:49

Meine Rede :-)
Antworten