Rumah  >  Soal Jawab  >  teks badan

sublime-text - python爬虫编码问题

PHP中文网PHP中文网2741 hari yang lalu407

membalas semua(8)saya akan balas

  • 巴扎黑

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

    Cuba tanpa tupel

    print h2, a

    Ia sepatutnya masih menjadi masalah pengekodan yang tinggal

    Apabila mencetak, __str__() tuple sebenarnya dipanggil

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

    balas
    0
  • 巴扎黑

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

    Disebabkan kaedah pengekodan yang berbeza, pengekodan platform windows biasanya gbk atau isoxxx Semak kaedah pengekodan web (tersedia dalam chrome), dan kemudian tukar pengekodan kepada sistem yang sama dan ia akan menjadi ok.

    balas
    0
  • 高洛峰

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

    Malah, anda boleh mengeluarkan bahasa Cina dengan mengeluarkan h2 sahaja. Jika anda perlu mengeluarkan tuple seperti yang anda lakukan, rujuk kod berikut

    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"))

    balas
    0
  • 巴扎黑

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

    Apabila anda menghadapi masalah pengekodan, dan anda juga perlu memahami asal usul sejarah pengekodan, anda boleh membaca artikel ini, http://foofish.net/python-cha... Anda akan tahu cara menganalisis masalah apabila anda menghadapi pengekodan pada masa hadapan.

    balas
    0
  • 大家讲道理

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

    python3

    balas
    0
  • PHPz

    PHPz2017-04-18 10:12:29

    Permulaan u'' menunjukkan bahawa ia sudah pun unicode. Tidak ada masalah dengan pengekodan, tetapi terdapat masalah dengan cara anda mencetak Jika anda menukarnya kepada ini dalam 2.7, ia sepatutnya baik

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

    balas
    0
  • 高洛峰

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

    Selepas membacanya, cuma tukarkannya terus kepada rentetan

    balas
    0
  • PHP中文网

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

    cetak(h2 + a)

    balas
    0
  • Batalbalas