推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
andmspy
V2EX  ›  Python

刚上高一,家里送了台电脑,自学 PYTHON,遇到转码的问题,请教大家~~

  •  
  •   andmspy · Jul 3, 2016 · 4703 views
    This topic created in 3604 days ago, the information mentioned may be changed or developed.

    代码如下: import requests from bs4 import BeautifulSoup

    url = 'http://www.mnsfz.com/'

    r = requests.get(url) soup = BeautifulSoup(r.text, 'lxml') print(soup.title)

    输出:

    <title>乱码乱码乱码乱码乱码乱码乱码乱码乱码乱码(论坛不能含有特殊字符)</title>

    网页 charset 为‘ utf-8'

    试过 decode('utf-8').encode('gbk') 输出: <built-in method title of str object at 0x03DC14F0>

    请教如何输出纯中文字符 ‘美女私房网,美女图片,美女写真,性感美女,清纯少女,私房照,模特写真,模特私房’ 谢谢。

    22 replies    2016-07-29 07:46:51 +08:00
    laowu2012
        1
    laowu2012  
       Jul 3, 2016
    小伙有出息。
    aheadlead
        2
    aheadlead  
       Jul 3, 2016
    (大哥你这个美女私房啥的真是服
    qiaoqinqie
        3
    qiaoqinqie  
       Jul 3, 2016
    控制台输出吗 那就设置编码
    在代码前面加
    import sys
    reload(sys)
    sys.setfefaultencoding('utf-8')
    andmspy
        4
    andmspy  
    OP
       Jul 3, 2016
    @qiaoqinqie
    python3 也是这样写么?
    要不要修改什么的?
    andmspy
        5
    andmspy  
    OP
       Jul 3, 2016
    各位大哥,同学们有需求,我必须满足大家的期待,不过小白一枚,只能挑灯夜读,攻克每个难关。
    cctv6
        6
    cctv6  
       Jul 3, 2016 via Android
    @qiaoqinqie
    sys.setdefaultencoding('utf-8')
    打错了一个字母
    billlee
        7
    billlee  
       Jul 3, 2016
    估计是网页声明的 charset 就有问题,试试这下面几个吧
    soup.title.string.encode('utf-8').decode('gbk')
    soup.title.string.encode('latin-1').decode('gbk')
    soup.title.string.encode('latin-1').decode('utf-8')
    chevalier
        8
    chevalier  
       Jul 3, 2016
    r = requests.get(url)
    这个 r 对象,有 encoding 方法,按照网页 charset 试一下
    r.encoding('utf8')
    ioven
        9
    ioven  
       Jul 3, 2016
    貌似 requests 自动解码出错,手动解码没问题
    py3 , r.content.decode('utf-8')
    mingyun
        10
    mingyun  
       Jul 3, 2016
    r = requests.get(url)
    r.encoding = r.apparent_encoding
    chimingphang
        11
    chimingphang  
       Jul 3, 2016
    我知道该同学挑灯夜战,为日后抓种子造福全班男同学努力中
    liangmishi
        12
    liangmishi  
       Jul 4, 2016 via Android
    加一句 r.encoding="utf-8"
    就完事了
    aitaii
        13
    aitaii  
       Jul 4, 2016
    可以,这很美女私房照。
    playniuniu
        14
    playniuniu  
       Jul 4, 2016
    你先看看 r.text 乱码吗
    singer
        15
    singer  
    PRO
       Jul 4, 2016
    import requests from bs4 import BeautifulSoup
    url = 'http://www.mnsfz.com/'
    r = requests.get(url)
    r.encoding = 'utf-8'
    soup = BeautifulSoup(r.text, 'lxml')
    print(soup.title)
    jiangbingo
        16
    jiangbingo  
       Jul 4, 2016
    码的问题好解决,阅遍天下XX自然无码。
    andmspy
        17
    andmspy  
    OP
       Jul 5, 2016
    谢谢各位大哥的回答,小弟代表全班同学感谢大家。:)
    sqlfeng
        18
    sqlfeng  
       Jul 6, 2016
    import sys
    reload(sys)
    sys.setfefaultencoding('utf-8')


    get 之后加
    r.encoding = 'utf-8'
    GreatMartial
        19
    GreatMartial  
       Jul 6, 2016
    小伙子,小心到时候同学的家长找到你...
    Owenjia
        20
    Owenjia  
       Jul 8, 2016
    不推荐使用 setfefaultencoding ,这里用 BeautifulSoup(res.content) 应该可以正常显示的。


    FYI:
    http://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script
    practicer
        21
    practicer  
       Jul 9, 2016
    小伙子,有出息
    necomancer
        22
    necomancer  
       Jul 29, 2016
    print(soup.title.string.encode('latin-1').decode('utf-8')),编码不对啊
    美女私房照_美女,写真,清纯,少女_私房照|美女私房照_美女写真,少女清纯写真照
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2994 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 96ms · UTC 13:12 · PVG 21:12 · LAX 06:12 · JFK 09:12
    ♥ Do have faith in what you're doing.