检测缩短或"微小"网址的目的地

con*_*lee 18 python url redirect tinyurl

我刚搞砸了一堆Google Buzz数据,我想知道哪些Buzz帖子引用了相同的新闻文章.问题是这些帖子中的许多链接都被URL缩短器修改过,因此许多不同的缩短URL实际上都指向相同的新闻文章.

鉴于我有数百万的帖子,对我来说最有效的方式(最好是在python中)是什么

  1. 检测URL是否是缩短的URL(来自任何一个URL缩短服务,或至少是最大的)
  2. 找到缩短网址的"目标",即缩短网址的长原始版本.

有谁知道URL缩短程序是否强加了严格的请求率限制?如果我把它保持在100 /秒(所有来自相同的IP地址),你认为我会遇到麻烦吗?

更新和初步解决方案 响应导致了以下简单的解决方案

import urllib2
response = urllib2.urlopen("http://bit.ly/AoifeMcL_ID3") # Some shortened url
url_destination = response.url
Run Code Online (Sandbox Code Playgroud)

而已!

jat*_*ism 17

获取缩短URL的目标的最简单方法是使用urllib.鉴于短URL有效(响应代码200),URL将返回给您.

>>> import urllib
>>> resp = urllib.urlopen('http://bit.ly/bcFOko')
>>> resp.getcode()
200
>>> resp.url
'http://mrdoob.com/lab/javascript/harmony/'
Run Code Online (Sandbox Code Playgroud)

就是这样!