URL中中文轉碼和解碼
阿新 • • 發佈:2018-12-18
在爬取資料是時候很多搜尋的詞語中在瀏覽器上顯示的是中文,但是我們複製url到本地,中文就會出現我們看不懂的文字。
如果我們需要爬蟲的時候也是一樣,我們需要給瀏覽器傳過去的也是對url中的中文進行轉碼之後的url地址,否則在url中的關鍵字直接出現中文會有問題。在python3的環境中的urllib庫中 quote模組 提供了這一功能
一、URL轉碼
#!/usr/bin/env python #-*- coding:utf-8 -*- from urllib.parse import quote name = '詩人李白' url_encode_name = quote(name) print(url_encode_name) 輸出: %E8%AF%97%E4%BA%BA%E6%9D%8E%E7%99%BD
二、URL解碼
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from urllib.parse import unquote
name = '%E8%AF%97%E4%BA%BA%E6%9D%8E%E7%99%BD'
url_decode_name = unquote(name)
print(url_decode_name)
輸出:
詩人李白
三、使用urlencode對url轉碼
#!/usr/bin/env python #-*- coding:utf-8 -*- from urllib.parse import urlencode start_url='http://tieba.baidu.com/f?' urldata = { 'kw':'詩人李白', 'ie':'utf-8', 'pn':'100', } print(start_url+urlencode(urldata)) 輸出: http://tieba.baidu.com/f?kw=%E8%AF%97%E4%BA%BA%E6%9D%8E%E7%99%BD&ie=utf-8&pn=100