• 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 レザー ブルゾン
  • 相关阅读:
    搭建 mariadb 数据库主从同步
    MySQL--MVCC
    剑指 Offer 07. 重建二叉树
    剑指 Offer 06. 从尾到头打印链表
    MySQL--数据库范式
    剑指 Offer 05. 替换空格
    剑指 Offer 04. 二维数组中的查找
    剑指offer_03_数组中重复的数字(Java)
    Redis
    MySQL--SQL执行过程
  • 原文地址:https://www.cnblogs.com/loren880898/p/12171712.html
Copyright © 2020-2023  润新知