为什么urllib2需要很长时间才能阅读?

时间:2017-09-01 23:26:19

标签: python urllib2

我正在编写一个简单的程序来比较HTML页面,但我目前的瓶颈是读取HTML文件。特别是代码:

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

网址来自IMDB。我不知道为什么需要这么长时间(平均约9秒)。当我只想用正则表达式搜索html文本时,它可能正在下载图像。我从未使用过urllib2,所以任何帮助都会受到赞赏。

编辑:

我使用的示例网址是

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

1 个答案:

答案 0 :(得分:0)

页面加载速度超慢(在服务器端)。这是千兆光纤:

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

完全在python之外:

$ 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