我有 url 列表,例如
l=['bit.ly/1bdDlXc','bit.ly/1bdDlXc',.......,'bit.ly/1bdDlXc']
我只想查看该列表中每个元素的短网址的完整网址。
这是我的方法,
import urllib2
for i in l:
print urllib2.urlopen(i).url
但是当列表包含数千个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从缩短的url中获取完整的url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25245589/