python3 輸出中文、日文等等亂碼問題的解決辦法


例如:

url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089'
resp = requests.get(url=url)
html = etree.HTML(resp.text)
title = html.xpath('//div[@id="item-intro"]/h1/text()')[0]
print(title)

打印結果為:

ƒAƒ“ƒeƒB[ƒN ƒuƒ‰ƒbƒN ƒJƒEƒŒƒU[  / MA-1 ƒŒƒU[ ƒuƒ‹ƒ]ƒ“

以上打印結果為亂碼,解決辦法:

1 先獲取網址的編碼:

url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089'
resp = requests.get(url=url)
encodings = requests.utils.get_encodings_from_content(resp.text)
print(encodings)

結果為:

['Shift_JIS']

由此可知網站的編碼是['Shift_JIS']

2 將獲取的response.conetent的編碼設置為['Shift_JIS'],再次請求,獲取到的就不是亂碼了。

url = 'https://zozo.jp/shop/mrolive/goods-sale/44057773/?did=73037089'
resp = requests.get(url=url)
resp_txt = resp.content.decode('Shift_JIS')
html = etree.HTML(resp_txt)
title = html.xpath('//div[@id="item-intro"]/h1/text()')[0]
print(title)

結果為:

アンティーク ブラック カウレザー  / MA-1 レザー ブルゾン


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM