Seite 1 von 1

urllib und co

Verfasst: Montag 14. September 2009, 14:37
von Subsystem
Hallo zusammen, bin neu in diesem Forum und möchte kurz erklären was mein Ziel ist. Ich würde gerne via Urllib.open(url etc.) den Content der URL auslesen und bestimmte Link's in ein Textfile schreiben. Sollte villeicht noch sagen das ich im Bereich Programmieren mit Python meine ersten Schritte mache.

Code: Alles auswählen

import urllib, os
d = open("textfile.txt","w");
x = os.path.getsize("textfile.txt");
while (x <= "10000L"):
	f = urllib.urlopen("URL");
	for content in f:
		if content == "Contentinhalt":
			d.write(content + "\n")
	f.close();


würde mich über eine baldige Antwort freuen. Danke euer Subsystem

Verfasst: Montag 14. September 2009, 15:01
von Rebecca
Generell waere es gut, wenn du sagst, was dein Problem ist.

Diese while-Schleife ist Murks. Erstmal aenderst du x in der Schleife gar nicht mehr. Zweitens gibt getsize eine Zahl, du vergleichst aber mit einem String. Generell ist das Ueberpruefen der Dateigroesse waehrend du noch reinschreibst ungenau, da nicht alles sofort auf Platte geschrieben wird, sondern gepuffert wird. Brauchst du sowas wirklich?

Verfasst: Montag 14. September 2009, 15:07
von cofi
Was ist denn dein Problem? Willst du Links mit einem bestimmten Pattern sammeln? Dann schau dir mal Regular Expressions und [mod]re[/mod] an.

Murks ^^

Verfasst: Montag 14. September 2009, 15:07
von Subsystem
@ Cofi dankeschön dies ware genau was ich gesucht habe.

Verfasst: Montag 14. September 2009, 15:21
von cofi
Wobei man zum finden der Links auf einen echten HTML-Parser setzen sollte, such mal nach BeautifulSoup.

Der Algorithmus mal korrekt:

Code: Alles auswählen

with open("links.txt", "w") as linkfile:
    while True:
        links = gather_links(url)
        linkfile.writelines(links)
        if os.path.getsize >= MAX_SIZE:
            break