Seite 1 von 1

Anfängerfrage: URL aufrufen

Verfasst: Sonntag 11. März 2007, 17:20
von sprudel
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

Verfasst: Sonntag 11. März 2007, 17:35
von rafael
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

Verfasst: Sonntag 11. März 2007, 17:40
von achim
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

Verfasst: Sonntag 11. März 2007, 18:18
von sprudel
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.

Verfasst: Sonntag 11. März 2007, 19:11
von EyDu
Schau dir mal die "cookielib" aus der Standard Library an.

Verfasst: Sonntag 11. März 2007, 19:21
von sprudel
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?

Verfasst: Sonntag 11. März 2007, 19:34
von apollo13
Die gibt es, sie dir mal die examples an:
http://docs.python.org/lib/httplib-examples.html

Verfasst: Sonntag 11. März 2007, 20:49
von achim
Meine Rede :-)