基本上是一個「短網址」是一個門面網址只是重定向到最終網址。所以你可以使用urllib2的getUrl方法。
的getURL() - 返回檢索到的資源,常用來 的URL確定是否重定向之後
import urllib2
original_url = 'http://someshorturl/5b2su2'
response = urllib2.urlopen(original_url)
# final_url != original_url if redirected
final_url = response.geturl()
# response_code will be 302 for redirects
response_code = response.getcode()
if response_code == 302:
# redirected so this may a short url
else:
# this is not a short url
當然是有缺陷這一點,因爲任何URL可以重定向...不僅僅是來自url縮短服務的短url(如goo.gl或tinyrl)。
如果您確實需要100%確定,那麼您可能需要對已知的URL縮短服務域進行url的正則表達式測試。您可能需要結合使用以滿足您的要求。
但是,在這裏你分配一個布爾值**列**? –
對 - 我會修改問題以澄清 –
您可能需要點擊url並查看您是否獲得3xx狀態。即使那樣,我不認爲你可以確定它是一個縮短的網址。其他選項也許保留一個已知的URL縮短服務的列表。 –