例如:
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)
打印結果為:
AeB[N ubN JEU[ / 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 レザー ブルゾン