Maison  >  Questions et réponses  >  le corps du texte

sublime-text - python爬虫编码问题

PHP中文网PHP中文网2741 Il y a quelques jours405

répondre à tous(8)je répondrai

  • 巴扎黑

    巴扎黑2017-04-18 10:12:29

    Essayez sans tuples

    print h2, a

    Cela devrait toujours être un problème d'encodage résiduel

    Lors de l'impression, le __str__() du tuple est en fait appelé

    >>> h = u'你好'
    >>> (h, 8).__str__()
    "(u'\u4f60\u597d', 8)"

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:12:29

    Cela est dû à différentes méthodes d'encodage. L'encodage de la plate-forme Windows est généralement gbk ou isoxxx. Vérifiez la méthode d'encodage du Web (vous pouvez la vérifier dans Chrome), puis convertissez l'encodage en celui du système. et tout ira bien

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 10:12:29

    En fait, vous pouvez afficher le chinois en affichant h2 seul. Si vous devez afficher des tuples comme vous le faites, reportez-vous au code suivant

    .
    from __future__ import unicode_literals
    #-*-coding:utf-8-*-
    import requests
    from bs4 import BeautifulSoup
    res = requests.get('http://news.sina.com.cn/china/')
    res.encoding='utf-8'
    soup=BeautifulSoup(res.text,'html.parser')
    for news in soup.select('.news-item'):
        if len(news.select('h2'))>0:
            h2=news.select('h2')[0].text
            a=news.select('a')[0]['href']
            test = str((h2, a))
            print(test.decode("unicode-escape"))

    répondre
    0
  • 巴扎黑

    巴扎黑2017-04-18 10:12:29

    Lorsque vous rencontrez des problèmes de codage, et que vous avez également besoin de comprendre les origines historiques du codage, vous pouvez lire cet article, http://foofish.net/python-cha... Vous saurez comment analyser le problème lorsque vous rencontrez du codage dans le futur.

    répondre
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:12:29

    python3

    répondre
    0
  • PHPz

    PHPz2017-04-18 10:12:29

    Le début de u'' indique qu'il est déjà unicode. Il n'y a pas de problème avec l'encodage, mais il y a un problème avec la façon dont vous imprimez. Si vous le modifiez en 2.7, ça devrait aller<🎜. >

    print '%s,%s'%(h2, a)

    répondre
    0
  • 高洛峰

    高洛峰2017-04-18 10:12:29

    Après l'avoir lu, convertissez-le simplement directement en chaîne

    répondre
    0
  • PHP中文网

    PHP中文网2017-04-18 10:12:29

    imprimer(h2 + a)

    répondre
    0
  • Annulerrépondre