python - 使用python从缩短的url中获取完整的url

标签 python

我有 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/

相关文章:

Python向Pandas Dataframe添加列,该列是另一列中列表元素的计数

python - 无法导入名称 6 Django-CMS

python - 将分数转换为括号中重复小数位的字符串

Python ImportError 在子文件夹中加载模块

python - pydoc 创建不完整的文档

python - send_task() 和 apply_async() 的区别

python - 输入空 __slots__ (或空元组)的规范方法是什么?

python - 返回两个元组时如何仅使用一个参数

python - 在嵌套的有序字典 python 中查找给定键的值

python - 将一些包从基本环境克隆到另一个环境