os.system(wget) in Variable umleiten

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
Felix
User
Beiträge: 8
Registriert: Sonntag 30. November 2008, 02:09

Hallo,
ich versuche eine Webseite zu Lesen und die Ausgabe in eine Variable umzuleiten.
den Code den ich verwende sieht so aus:

Code: Alles auswählen

url = 'wget -q --load-cookies=%s/cookies/%s --user-agent="Mozilla/5.0" "%s"' % (pfad, cookie, urldata)
res = os.system(url)
Nun wird die Ausgabe aber nicht in die variable res geschriben sondern in ein File.
Wie kann ich dies machen, das die Ausgabe in die Variable geschrieben wird?

Gruss Felix
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Wieso verwendest Du nicht urllib / urllib2? Gibts nen trifftigen grund für wget?

Verwende aus dem subprocess-Modul popen! Damit kannst Du einfach die Rückgabedaten einlesen.
Felix
User
Beiträge: 8
Registriert: Sonntag 30. November 2008, 02:09

urllib kann keine cookies verarbeiten. Weiss aber nicht ob urllib2 cookies handeln kann. Beim subprocess Module popen glaube ich mal was gelesen zu haben, das dies beim Python3.0 nicht mehr vorhanden ist.
Habe auch schon das Module mechanize angeschaut, möchte aber eine Lösung bei welcher keine Module nachinstaliert werden müssen.

Wenn urllib2 cookies handeln kann würde ich dies nehmen, habe aber auch noch nichts dazu gefunden.

Gruss Felix
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Library Reference hat geschrieben:The urllib.request module defines functions and classes which help in opening URLs (mostly HTTP) in a complex world — basic and digest authentication, redirections, cookies and more.
http://docs.python.org/3.1/library/urllib.request.html

Python3.0 ist tot, nimm 3.1.

Und benutze die Library Reference und nicht "irgendwo gelesen", die hat dir zu ``subprocess`` auch mehr zu sagen.
Felix
User
Beiträge: 8
Registriert: Sonntag 30. November 2008, 02:09

cofi hat geschrieben: Python3.0 ist tot, nimm 3.1.
Dabei ist zu erwähnen, dass das Script unter Python 2.5 und 2.6 laufen sollte, da ich es für die Dreambox schreibe und auch verteilen möchte. Darum kann ich nicht sagen wann die Version geupdatet wird.
Werde mir aber mal dein virgeschlagenes Modul genauer ansehen für die Zukunft.

Gruss Felix
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Der Satz ist auch bei 2.6 enthalten - dort ist es aber urllib2:
[quote="Library Reference (2.6)]The urllib2 module defines functions and classes which help in opening URLs (mostly HTTP) in a complex world — basic and digest authentication, redirections, cookies and more.[/quote]

Du solltest allerdings wirklich die richtigen Versionen angeben, wenn du schon mit Python 3 um dich wirfst ;)
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

cofi hat geschrieben:Du solltest allerdings wirklich die richtigen Versionen angeben, wenn du schon mit Python 3 um dich wirfst ;)
Ach, egal ob 2.5, 2.6, 3.0, 3.1, e, oder Pi, gerundet ist es alles 3 ^^
Das Leben ist wie ein Tennisball.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

EyDu hat geschrieben:
cofi hat geschrieben:Du solltest allerdings wirklich die richtigen Versionen angeben, wenn du schon mit Python 3 um dich wirfst ;)
Ach, egal ob 2.5, 2.6, 3.0, 3.1, e, oder Pi, gerundet ist es alles 3 ^^
D.h. Python-Code ab 2.5 ist kompatibel zu Python3 ? :twisted:
Benutzeravatar
snafu
User
Beiträge: 6741
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

cofi hat geschrieben:
EyDu hat geschrieben:Ach, egal ob 2.5, 2.6, 3.0, 3.1, e, oder Pi, gerundet ist es alles 3 ^^
D.h. Python-Code ab 2.5 ist kompatibel zu Python3 ? :twisted:
*Halb* kompatibel. :)
Pascal
User
Beiträge: 271
Registriert: Samstag 4. April 2009, 22:18

cofi hat geschrieben:
EyDu hat geschrieben:
cofi hat geschrieben:Du solltest allerdings wirklich die richtigen Versionen angeben, wenn du schon mit Python 3 um dich wirfst ;)
Ach, egal ob 2.5, 2.6, 3.0, 3.1, e, oder Pi, gerundet ist es alles 3 ^^
D.h. Python-Code ab 2.5 ist kompatibel zu Python3 ? :twisted:
Ich seh darin eher eine Anspielung auf die Konstanten der Mathematik :lol:

Egal wie es gemeint war, ich habe mich köstlich über den Beitrag von EyDu amüsiert.
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Pascal hat geschrieben:
cofi hat geschrieben:
EyDu hat geschrieben:
cofi hat geschrieben:Du solltest allerdings wirklich die richtigen Versionen angeben, wenn du schon mit Python 3 um dich wirfst ;)
Ach, egal ob 2.5, 2.6, 3.0, 3.1, e, oder Pi, gerundet ist es alles 3 ^^
D.h. Python-Code ab 2.5 ist kompatibel zu Python3 ? :twisted:
Ich seh darin eher eine Anspielung auf die Konstanten der Mathematik :lol:

Egal wie es gemeint war, ich habe mich köstlich über den Beitrag von EyDu amüsiert.
Hmmm, wer weiß. Vielleicht werden wir es nie herausfinden...
Das Leben ist wie ein Tennisball.
Antworten