he visto este hilo ya - How can I unshorten a URL?¿Cómo puedo acortar una URL usando Python?
Mi problema con la respuesta resuelto (es decir, utilizando la API unshort.me) es que me estoy centrando en unshortening enlaces de YouTube. Como unshort.me se usa fácilmente, devuelve casi el 90% de los resultados con captchas que no puedo resolver.
Hasta ahora estoy atascado con el uso de:
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
Nota: todo en los comentarios es lo que he intentado hacer al utilizar el servicio unshort.me el que regresaba enlaces captcha.
¿Alguien sabe de una forma más eficiente de completar esta operación sin usar abrir (ya que es un desperdicio de ancho de banda)?
Lo acortador de url estás teniendo problemas con? ¿Por qué estás usando unshort.me de todos modos? Su código ya debería funcionar, debería deshabilitar las URL siguiendo la redirección a la url real. – zeekay
No entiendo lo que quiere decir con "sin usar abierto". Un enlace corto es una clave en la base de datos de otra persona; no puede expandir el enlace sin consultar la base de datos. –
Cuando estaba leyendo la publicación a la que hice referencia (http://stackoverflow.com/questions/4201062/how-can-i-unshorten-a-url-using-python) se veía como ese comando urlopen GET solicita toda la página así que es un desperdicio de ancho de banda cuando todo lo que estoy buscando es el enlace. El método sugerido no funcionaba para mí (unshort.me), así que decidí ver si había otras alternativas. – brandonmat