2017-09-01 3 views
-1

Ich schreibe ein einfaches Programm, um HTML-Seiten zu vergleichen, aber mein aktueller Engpass liest die HTML-Dateien. Insbesondere der Code:Warum braucht urllib2 viel Zeit zum Lesen?

htmldata1 = urllib2.urlopen(url1).read() 
    htmldata2 = urllib2.urlopen(url2).read() 

Die URLs sind von IMDB. Ich weiß nicht, warum es so lange dauert (durchschnittlich ~ 9 Sekunden). Es kann die Bilder herunterladen, wenn ich nur den HTML-Text mit regulären Ausdrücken suchen möchte. Ich habe nie urllib2 benutzt, also würde jede Hilfe geschätzt werden.

Edit:

Ein url Beispiel ich benutze, ist

"http://www.imdb.com/title/tt0944947/fullcredits?ref_=tt_cl_sm#cast"

+0

Es wäre schön, wenn Sie eine tatsächliche URL geben könnten, so dass andere es versuchen und sehen, ob sie erleben das gleiche Verhalten. – Eduardo

+0

Versucht mit 'urllib', nicht' urllib2'? –

+0

@Eduardo gab nur ein Beispiel URL. Mein Fehler. Abien, das Problem bestand sowohl mit Urlib als auch mit Urlib2. – jman

Antwort

0

Die Seite ist einfach super-langsam (auf dem Server des Ende) zu laden. Dies ist auf Gigabit-Faser:

In [4]: url1 = "http://www.imdb.com/title/tt0944947/fullcredits?ref_=tt_cl_sm#cast" 

In [5]: %time result = urllib2.urlopen(url1).read() 
CPU times: user 56.3 ms, sys: 21.6 ms, total: 77.9 ms 
Wall time: 2.16 s 

In [7]: %time result2 = requests.get(url1) 
CPU times: user 29.5 ms, sys: 6.35 ms, total: 35.9 ms 
Wall time: 2.18 s 

Und außerhalb von Python ganz:

$ time curl -o/dev/null "http://www.imdb.com/title/tt0944947/fullcredits?ref_=tt_cl_sm#cast" 
    % Total % Received % Xferd Average Speed Time Time  Time Current 
           Dload Upload Total Spent Left Speed 
100 2173k 0 2173k 0  0 537k  0 --:--:-- 0:00:04 --:--:-- 540k 
curl -o/dev/null 0.01s user 0.03s system 0% cpu 4.074 total 
Verwandte Themen