Beautiful Soup sehr langsam

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
Nebelhom
User
Beiträge: 155
Registriert: Mittwoch 19. Mai 2010, 01:31

Hi,

Ich bin mir gerade nicht wirklich im Klaren, warum folgender Code langsam ist.

Code: Alles auswählen

import urllib2
import cookielib
from BeautifulSoup import BeautifulSoup #@UnresolvedImport

# Create website opener for sites with cookies
cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))

r = opener.open("http://pubs.acs.org/toc/jacsat/current")

soup = BeautifulSoup(r)

print soup.prettify()
Das Programm macht was es soll und ist im Uebrigen auf das wesentlichste minimiert. Laeuft jedoch immernoch langsam. Habe ich in meiner Ignoranz einen offensichtlichen Performance Flaschenhals hier uebersehen, oder liegt das an meiner Internetverbindung oder sowas?

Bei langsam meine ich, in einem DOS Fenster in XP fast 10 sekunden bis der output komplett wieder gegeben wurde. Wenn ich damit mehrere websites wiedergeben will, multipliziert sich das ganze dann entsprechend. Wenn ich noch eine "findAll()" methode einbaue, wird das ganze nochmal langsamer...

Danke fuer eure Tipps.
BlackJack

@Nebelhom: Ich würde ja erst einmal das herunter laden vom Parsen und Ausgeben trennen wenn Du wissen willst wo die Zeit verbraucht wird. Ich das auch langsam wenn Du die Daten aus lokalen Dateien einliest? Dann liegt es an BeautifulSoup. Falls das schnell geht, muss es wohl am herunterladen liegen.

Ansonsten kann es auch sein, dass Dich ein Server "bestraft" wenn Du zu viel automatisiert herunter lädst.
Antworten