Wie text auf einer Internetadresse lesen lassen?

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
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hallo Leute
Ich will einen Text auf einer Internetseite mit meine Python Programm lesen lassen. Doch es kommt jedesmal ein error: (dieser sagt die datei würdes es nicht geben, doch das stimmt nicht)

Traceback (most recent call last):
File "C:\Dokumente und Einstellungen\Raphael1\Desktop\test.py", line 5, in <module>
testwrite()
File "C:\Dokumente und Einstellungen\Raphael1\Desktop\test.py", line 2, in testwrite
oeffnen = open("http://raphaelfritz.ra.ohost.de/game/game.txt", "r")
IOError: [Errno 2] No such file or directory: 'http://raphaelfritz.ra.ohost.de/game/game.txt'

mein code:

Code: Alles auswählen

def testwrite():
    oeffnen = open("http://raphaelfritz.ra.ohost.de/game/game.txt", "r")
    print oeffnen.readlines()

testwrite()

Was mache ich falsch, oder kann man nicht einfach einen text auf einer Internetseite lesen lassen?
Schon mal Danke.
Gruß Teabag
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Teabag hat geschrieben:Was mache ich falsch, oder kann man nicht einfach einen text auf einer Internetseite lesen lassen?
Nein, kann man nicht. Aber keine Sorge, für Daten aus dem Internet gibt es die ``urllib`` die ebenfalls sehr einfach in der Bedienung ist.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hab jetzt folgenden code zum lesen der datei:

Code: Alles auswählen

import urllib
def testwrite():
    fp = urllib.urlopen("http://raphaelfritz.ra.ohost.de/game/game.txt") 
    print fp.readlines()

testwrite()
Wie kann ich jetzt noch was in die datei reinschreiben?
Die Rechte hat das programm.
Gibts da so was wie fg.write ?

Gruß Teabag
querdenker
User
Beiträge: 424
Registriert: Montag 28. Juli 2003, 16:19
Wohnort: /dev/reality

http ist (ohne Umwege und Klimmzüge) ein nur-lesen.

hth, querdenker
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Du kannst ueber http keine Dateien auf einem Server bearbeiten. Was du mit urlopen machst, ist, die Datei vom Server herunterladen. Du koenntest sie nun in eine lokale Datei speichern und dabei (oder hinerher) natuerlich auch veraendern.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Oh
Und wie könnt ich das jetzt machen?
Das mit dem runterladen und dann ändern ist dumm, weil ich die änderungen auf dem server haben möchte, xD.
Was muss ich jetzt anderst machen statt http oder urlopen???

Gruß Teabag
Benutzeravatar
veers
User
Beiträge: 1219
Registriert: Mittwoch 28. Februar 2007, 20:01
Wohnort: Zürich (CH)
Kontaktdaten:

Rebecca hat geschrieben:Du kannst ueber http keine Dateien auf einem Server bearbeiten. Was du mit urlopen machst, ist, die Datei vom Server herunterladen. Du koenntest sie nun in eine lokale Datei speichern und dabei (oder hinerher) natuerlich auch veraendern.
Und was macht PUT? *g*

Teabag, verändere die Datei einfach auf der Serverseite mit einem CGI ;)
lunar

veers hat geschrieben:Teabag, verändere die Datei einfach auf der Serverseite mit einem CGI ;)
Wenn er denn die passenden Recht auf dem Server hat... ansonsten sollte man ein anderes Protokoll in Erwägung ziehen.
Teabag
User
Beiträge: 81
Registriert: Sonntag 13. Mai 2007, 20:44

Hallo
Könntet ihr mir vielleicht helfen. wie man das mit CGI macht?
Ich habe so was noch nie gemacht.

Gruß Teabag
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

veers hat geschrieben:Und was macht PUT? *g*
Das, auf was die Serverseite programmiert ist. Also im Normalfall gar nichts in die Richtung dessen, für was PUT vorgesehen ist.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Y0Gi hat geschrieben:
veers hat geschrieben:Und was macht PUT? *g*
Das, auf was die Serverseite programmiert ist. Also im Normalfall gar nichts in die Richtung dessen, für was PUT vorgesehen ist.
Ich finde es eigentlich ziemlich schade, dass die HTTP Verben nicht komplett implementiert sind, das würde sicher einiges gehacke überflüssig machen.

Teabag, ich weiß nicht ob es eine gute Idee ist, wenn du dich glaich an webprogrammierung machst. Du solltest dich vor dem Programmieren besser mit den Konzepten von HTTP, CGI und Server-Side-Programmierung bekannt machen. Denn einfach drauflos zu programmieren führt zu frustration, sowohl auf deiner Seite als auch auf unserer Seite (wenn du hier ganz grundlegende Fragen stellst und unsere Antworten nicht verstehst ist das weder für uns noch für dich eine angenehme Sache).

Aber ich schrieb dir trotzdem mal den groben Aufbau mal hin:
  • Du schreibst ein CGI-Programm, das über POST die neue Version der Datei die du editieren willst entgegennimmt und speichert.
  • Du schreibst ein normales Desktop-Programm, welches die Datei erstmal runterlädt, editiert und danach wieder auf den Server hochlädt.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten