2017-09-01 9 views
-1

J'écris un programme simple pour comparer les pages HTML, mais mon goulot d'étranglement actuel est la lecture des fichiers HTML. Plus précisément, le code:Pourquoi urllib2 prend-il beaucoup de temps à lire?

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

Les URL proviennent de la base de données IMDB. Je ne sais pas pourquoi cela prend si longtemps (moyenne ~ 9 secondes). Il se peut que je télécharge les images lorsque je veux que le texte html fasse une recherche avec des expressions régulières. Je n'ai jamais utilisé urllib2 donc toute aide serait appréciée.

Edit:

Un url exemple, je l'utilise est

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

+0

Ce serait bien si vous pouviez donner une URL réelle, de sorte que d'autres puissent l'essayer et voir si elles vivent le même comportement. – Eduardo

+0

Essayé en utilisant 'urllib', pas' urllib2'? –

+0

@Eduardo vient de donner un exemple d'URL. Ma faute. Abien, le problème persistait avec urllib et urllib2. – jman

Répondre

0

La page est juste super lent à charger (sur la fin du serveur). Ceci est en fibre de gigabit:

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 

Et en dehors du python entièrement:

$ 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