为什么 urllib2 需要很长时间才能阅读?
why is urllib2 taking a long time to read?
我正在编写一个简单的程序来比较 HTML 页,但我目前的瓶颈是读取 HTML 文件。具体代码:
htmldata1 = urllib2.urlopen(url1).read()
htmldata2 = urllib2.urlopen(url2).read()
url 来自 IMDB。我不知道为什么要花这么长时间(平均约 9 秒)。当我只想使用正则表达式搜索 html 文本时,它可能正在下载图像。我从未使用过 urllib2,因此我们将不胜感激。
编辑:
我使用的一个例子url是
"http://www.imdb.com/title/tt0944947/fullcredits?ref_=tt_cl_sm#cast"
页面加载速度非常慢(在服务器端)。这是千兆光纤:
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
我正在编写一个简单的程序来比较 HTML 页,但我目前的瓶颈是读取 HTML 文件。具体代码:
htmldata1 = urllib2.urlopen(url1).read()
htmldata2 = urllib2.urlopen(url2).read()
url 来自 IMDB。我不知道为什么要花这么长时间(平均约 9 秒)。当我只想使用正则表达式搜索 html 文本时,它可能正在下载图像。我从未使用过 urllib2,因此我们将不胜感激。
编辑:
我使用的一个例子url是
"http://www.imdb.com/title/tt0944947/fullcredits?ref_=tt_cl_sm#cast"
页面加载速度非常慢(在服务器端)。这是千兆光纤:
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