urllib2.urlopen
メソッドを使用してURLを開き、Webページのマークアップを取得しています。これらのサイトのいくつかは、301/302リダイレクトを使用して私をリダイレクトします。リダイレクトされた最終的なURLを知りたいのですが。どうすればこれを入手できますか?
返されたファイルオブジェクトの.geturl()
メソッドを呼び出します。 _urllib2
_ docs によると:
geturl()
—取得したリソースのURLを返します。これは、リダイレクトが実行されたかどうかを判断するために一般的に使用されます。
例:
_import urllib2
response = urllib2.urlopen('http://tinyurl.com/5b2su2')
response.geturl() # 'http://stackoverflow.com/'
_
_urllib2.urlopen
_の戻り値にはgeturl()
メソッドがあり、実際の(つまり最後のリダイレクト)URLを返す必要があります。
例:urllib2.urlopen('ORIGINAL LINK').geturl()
urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()