Python: Konvertieren jene TinyURL (bit.ly, TinyURL, ow.ly) auf volle URLS
Frage
Ich bin nur zu lernen, Python und ist daran interessiert, wie dies erreicht werden kann. Während der Suche nach der Antwort, stieß ich auf diesen Dienst: http://www.longurlplease.com
Zum Beispiel:
http://bit.ly/rgCbf können umgewandelt werden:
http://webdesignledger.com/ Freebies / the-best-Social-Media-Icons-all-in-one-place
Ich habe mit Firefox eine Inspektion und sehen Sie, dass die ursprüngliche URL ist in der Kopfzeile nicht.
Lösung
Geben Sie urllib2
, die den einfachsten Weg bietet, dies zu tun:
>>> import urllib2
>>> fp = urllib2.urlopen('http://bit.ly/rgCbf')
>>> fp.geturl()
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'
Als Referenz willen, beachten Sie jedoch, dass dies auch möglich ist, mit httplib
:
>>> import httplib
>>> conn = httplib.HTTPConnection('bit.ly')
>>> conn.request('HEAD', '/rgCbf')
>>> response = conn.getresponse()
>>> response.getheader('location')
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'
Und mit PycURL
, obwohl ich bin mir nicht sicher, ob dies der beste Weg, es zu tun, ist es mit :
>>> import pycurl
>>> conn = pycurl.Curl()
>>> conn.setopt(pycurl.URL, "http://bit.ly/rgCbf")
>>> conn.setopt(pycurl.FOLLOWLOCATION, 1)
>>> conn.setopt(pycurl.CUSTOMREQUEST, 'HEAD')
>>> conn.setopt(pycurl.NOBODY, True)
>>> conn.perform()
>>> conn.getinfo(pycurl.EFFECTIVE_URL)
'http://webdesignledger.com/freebies/the-best-social-media-icons-all-in-one-place'
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow