Ami*_*rni 2 python urllib2 url-shortener urlopen
我正在编写Python代码来扩展从Twitter获取的缩短的URL.我已经获取了所有URL并将它们存储在由换行符分隔的文本文件中.
目前我正在使用:
response = urllib2.urlopen(url)
return response.url
Run Code Online (Sandbox Code Playgroud)
扩大它们.
但是这种urlopen()方法在扩展URL方面似乎并不是很快.
我有大约540万个网址.有没有更快的方法来使用Python扩展它们?
我怀疑问题是网络调用很慢并且urllib阻塞直到它得到响应.因此,例如,说从URL缩短服务获得响应需要200ms,那么您将只能使用urllib解析5个URL /秒.但是,如果您使用异步库,则应该能够在获得第一个答案之前发送大量请求.然后在回复到您的代码时处理响应.这应该会大大提高您的吞吐量.有一些Python库用于这种事情(Twisted,gevent等),所以你可能只想谷歌"Python异步休息".
您也可以尝试使用大量线程执行此操作(我认为urllib2将在等待响应时释放GIL,但不确定).这不会像异步一样快,但仍应该加快速度.
这两种解决方案都带来了相当多的复杂性,但是如果你想快速...
| 归档时间: |
|
| 查看次数: |
297 次 |
| 最近记录: |