python3 中文乱码
PHP中文网
PHP中文网 2017-04-17 17:34:23
0
2
397
from bs4 import BeautifulSoup
from bs4 import UnicodeDammit
import requests

def run():
    soup = requests.get('http://zy.upln.cn/gongshi2014/index.html').text
    soup = BeautifulSoup(soup,'html.parser')
    soup = soup.find('tbody')
    for x in soup.find_all('tr'):
        for y in x.find_all('td'):
            s = y.a.text
            print(s)

if __name__=="__main__":
    run()

读取之后的内容不知道是不是gbk被当成UTF-8来处理了
求教

PHP中文网
PHP中文网

认证高级PHP讲师

membalas semua(2)
PHPzhong

Cadangan peribadi saya ialah apabila mendapatkan respons, huraikan rentetan mengikut format pengekodan yang dinyatakan dalam respons

def run():
    r = requests.get('http://zy.upln.cn/gongshi2014/index.html')
    soup = r.text.encode(r.encoding) #这里获取的text先按照指定的字符集解析下,这样gbk、utf8都可以了
    soup = BeautifulSoup(soup, 'html.parser')
    soup = soup.find('tbody')
    for x in soup.find_all('tr'):
        for y in x.find_all('td'):
            s = y.a.text
            print(s)
            

Output

辽宁大学
大连理工大学
沈阳工业大学
沈阳航空航天大学
沈阳理工大学
东北大学
辽宁科技大学
辽宁工程技术大学
辽宁石油化工大学
沈阳化工大学
大连交通大学
大连海事大学
大连工业大学
沈阳建筑大学
辽宁工业大学
沈阳农业大学
大连海洋大学
中国医科大学
辽宁医学院
大连医科大学
辽宁中医药大学
沈阳药科大学
辽宁师范大学
沈阳师范大学
渤海大学
鞍山师范学院
大连外国语大学
东北财经大学
沈阳体育学院
沈阳音乐学院
鲁迅美术学院
辽宁对外经贸学院
沈阳大学
大连大学
辽宁科技学院
沈阳工程学院
辽东学院
大连民族学院
大连理工大学城市学院
沈阳工学院
大连工业大学艺术与信息工程学院
大连科技学院
沈阳城市建设学院
大连医科大学中山学院
辽宁医学院医疗学院
辽宁师范大学海华学院
辽宁理工学院
大连财经学院
沈阳城市学院
大连艺术学院
辽宁何氏医学院
沈阳化工大学科亚学院
大连东软信息学院
辽宁财贸学院
Peter_Zhu

Hello! Saya juga pernah mengalami masalah yang sama.
Penyelesaiannya ialah menukar cetakan kepada mencetak(s.encode('latin1').decode('utf-8'))
Ini ialah hasil larian:

Semoga Berjaya!

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan