我已经看到这个线程了 - How can I unshorten a URL?如何使用python取消缩短网址?
我解决的问题(使用unshort.me API)的问题是我正在关注未修改youtube链接。由于unshort.me很容易使用,所以我用无法解决的验证码返回几乎90%的结果。
到目前为止,我坚持使用:
def unshorten_url(url):
resolvedURL = urllib2.urlopen(url)
print resolvedURL.url
#t = Test()
#c = pycurl.Curl()
#c.setopt(c.URL, 'http://api.unshort.me/?r=%s&t=xml' % (url))
#c.setopt(c.WRITEFUNCTION, t.body_callback)
#c.perform()
#c.close()
#dom = xml.dom.minidom.parseString(t.contents)
#resolvedURL = dom.getElementsByTagName("resolvedURL")[0].firstChild.nodeValue
return resolvedURL.url
注:一切都在评论是我尝试使用其返回验证码环节unshort.me服务时做的。
有没有人知道更有效的方式来完成这项操作,而不使用开放(因为它是一个浪费带宽)?
您遇到什么麻烦URL缩短用?无论如何,你为什么使用unshort.me?你的代码应该已经可以工作了,它应该通过跟踪重定向到真实的URL来取消隐藏URL。 – zeekay
我不明白你的意思是“没有使用开放”。短链接是其他人数据库的关键;如果不查询数据库,则无法展开链接。 –
当我读到我引用的帖子时(http://stackoverflow.com/questions/4201062/how-can-i-unshorten-a-url-using-python)它看起来像那个命令urlopen GET请求整个页面所以当我所寻找的是链接时,就会浪费带宽。建议的方法不适合我(unshort.me),所以我决定看看是否有其他选择。 – brandonmat