Rumah > Soal Jawab > teks badan
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来处理了
求教
PHPz2017-04-17 17:36:23
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
辽宁大学
大连理工大学
沈阳工业大学
沈阳航空航天大学
沈阳理工大学
东北大学
辽宁科技大学
辽宁工程技术大学
辽宁石油化工大学
沈阳化工大学
大连交通大学
大连海事大学
大连工业大学
沈阳建筑大学
辽宁工业大学
沈阳农业大学
大连海洋大学
中国医科大学
辽宁医学院
大连医科大学
辽宁中医药大学
沈阳药科大学
辽宁师范大学
沈阳师范大学
渤海大学
鞍山师范学院
大连外国语大学
东北财经大学
沈阳体育学院
沈阳音乐学院
鲁迅美术学院
辽宁对外经贸学院
沈阳大学
大连大学
辽宁科技学院
沈阳工程学院
辽东学院
大连民族学院
大连理工大学城市学院
沈阳工学院
大连工业大学艺术与信息工程学院
大连科技学院
沈阳城市建设学院
大连医科大学中山学院
辽宁医学院医疗学院
辽宁师范大学海华学院
辽宁理工学院
大连财经学院
沈阳城市学院
大连艺术学院
辽宁何氏医学院
沈阳化工大学科亚学院
大连东软信息学院
辽宁财贸学院
天蓬老师2017-04-17 17:36:23
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!