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.
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
Cuba tanpa tupel
Ia sepatutnya masih menjadi masalah pengekodan yang tinggal
Apabila mencetak, __str__() tuple sebenarnya dipanggil
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
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
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
Selepas membacanya, cuma tukarkannya terus kepada rentetan
cetak(h2 + a)