python3 中文乱码
PHP中文网
PHP中文网 2017-04-17 17:34:23
0
2
393
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讲师

répondre à tous(2)
PHPzhong

Ma suggestion personnelle est que lors de l'obtention de la réponse, analysez la chaîne selon le format d'encodage spécifié dans la réponse

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)
            

Sortie

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

Bonjour ! J'ai également rencontré des problèmes similaires.
La solution est de changer print(s) en print(s.encode('latin1').decode('utf-8'))
Voici le résultat en cours :

Bonne chance !

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal