sublime-text - python爬虫编码问题
PHP中文网
PHP中文网 2017-04-18 10:10:29
0
8
397
PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(8)
巴扎黑

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)"
巴扎黑

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.

小葫芦

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"))
巴扎黑

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.

大家讲道理

python3

PHPzhong

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)
小葫芦

Selepas membacanya, cuma tukarkannya terus kepada rentetan

Ty80

cetak(h2 + a)

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!