我有类似的网址列表,
l=['bit.ly/1bdDlXc','bit.ly/1bdDlXc',.......,'bit.ly/1bdDlXc']
我只想查看该列表中每个元素的短网址的完整网址。
这是我的方法,
import urllib2
for i in l:
print urllib2.urlopen(i).url
但是当list包含数千个url时,该程序将花费很长时间。
我的问题是:有什么方法可以减少执行时间,还是我必须遵循的其他方法?
最佳答案
第一种方法
如建议的那样,一种完成任务的方法是使用official api to bitly,但是它有局限性(例如,每个请求不超过15个shortUrl
)。
第二种方法
另一种选择是,可以避免获取内容,例如通过使用HEAD
HTTP方法而不是GET
。这只是一个示例代码,它使用了出色的requests包:
import requests
l=['bit.ly/1bdDlXc','bit.ly/1bdDlXc',.......,'bit.ly/1bdDlXc']
for i in l:
print requests.head("http://"+i).headers['location']
关于python - 使用python从缩短的网址获取完整的网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25245589/