我有类似的网址列表,

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/

10-12 18:33