python實作中文轉換url編碼

高洛峰
發布: 2017-03-03 13:07:45
原創
1581 人瀏覽過

本文實例講述了python實作中文轉換url編碼的方法。分享給大家供大家參考,具體如下:

今天要處理百度貼吧的東西。想要做一個關鍵字的list,每次需要時,直接加入 到list裡面就可以了。但是添加到list裡面是中文的情況(例如‘麗江'),url的地址編碼卻是'%E4%B8%BD%E6%B1%9F',因此需 要做一個轉換。這裡我們就用到了模組urllib。

>>> import urllib
>>> data = '丽江'
>>> print data
丽江
>>> data
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> urllib.quote(data)
'%E4%B8%BD%E6%B1%9F'
登入後複製

那我們要轉回去呢?

>>> urllib.unquote('%E4%B8%BD%E6%B1%9F')
'\xe4\xb8\xbd\xe6\xb1\x9f'
>>> print urllib.unquote('%E4%B8%BD%E6%B1%9F')
丽江
登入後複製

細心的同學會發現貼吧url中出現的是%C0%F6%BD%AD,而非'%E4%B8%BD%E6 %B1%9F',其實是程式設計問題。百度的是gbk,其他的一般網站如google就是utf8的。所以可以用下列語句實現。

>>> import sys,urllib 
>>> s = '丽江'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('gbk'))
'%C0%F6%BD%AD'
>>> urllib.quote(s.decode(sys.stdin.encoding).encode('utf8'))
'%E4%B8%BD%E6%B1%9F'
>>>
登入後複製

更多python實作中文轉換url編碼相關文章請關注PHP中文網!

#
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!