我一直在阅读docs中的Beautiful Soup编码,以获取具有特殊字符的html进行解析。但是那里的用例与我的不匹配。
将HTML <p>Kimi Räikkönen</p>
抓取为Kimi Räikkönen
后返回了HTML,我的应用无法处理此问题。文档指示了当实际标记中包含unicode(我的没有)时(即<p>Sacr\xc3\xa9 bleu!</p>
到<p>Sacré bleu!</p>
奇怪的是,当我输入soup.original_encoding
时,即使内容正常,我总会得到None
。
我已经尝试了文档中的所有示例以及此处的其他问题,但到目前为止都没有奏效。我同时使用Beatiful Soup作为刮板和解析器。
对于如何处理此问题,我将不胜感激。
答案 0 :(得分:0)
这不是美丽的汤问题,而是requests
的问题。
page = requests.get("https://www.formula1.com/en/drivers/kimi-raikkonen.html")
这是我的刮板中的第一行,并且未返回正确的编码。该解决方案可能被认为是骇人听闻的,但我只是添加了以下内容来解决此问题:
page.encoding = 'utf-8'