私はすでにこのスレッドを見てきました - 解決の答え(つまりunshort.me APIを使用している)とのHow can I unshorten a URL?pythonを使用してURLの短縮を解除するにはどうすればよいですか?
私の問題は、私はunshorteningユーチューブリンクに焦点を当てていますということです。 unshort.meは簡単に使用されるので、解決できないcaptchaを使って結果のほぼ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