我正在尝试使用BeautifulSoup4抓取一个网站,但身体标签后的所有内容都是胡言乱语,并打破了终端。 该网站标有utf-8,所以我尝试了解码和不同的HTML解析器,包括html.parser和lxml。
obsObj = BeautifulSoup(html.read().decode('utf-8','ignore'), "html5lib")
print(bsObj.prettify())
结果:
<html>
<head>
</head>
<body>
}zƲu}y┴(M։ʖO┬┌;R° ─H$D◆P⎼^▒&▒└⎻;\␍␍ (Q│P]]]U]]U£œ␉NG/?5˶ض&±├;ӗ/D&▒└⎻;·GW5Q߶/..(ڧ?ڗV*V┘┌[;≥⎻^N0T4ۓ┐'┴┘S7; њ#─K
网站上的相关内容是:
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da" lang="da" dir="ltr" class="js"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
答案 0 :(得分:1)
您可能会从网站上获取压缩数据。正如johnashu所做的那样,使用requests library将自动为您解压缩。您可以手动执行此操作,但这是一个更难的问题。