我正在从this website中提取所有标题和URL,但即使在检查编码为utf-8的请求之后,也会使用一些符号来代替重音符号
这是我的密码:
from bs4 import BeautifulSoup
import requests
url = "https://www.gov.br/planalto/pt-br/acompanhe-o-planalto/discursos"
r = requests.get(url)
print(f"The encoding is {r.encoding}")
soup = BeautifulSoup(r.text, 'html.parser')
lista_de_discursos = soup.find_all(name="a", attrs={"class": "summary"})
for x in lista_de_discursos:
print(x.text)
print("---")
下面是来自请求和一些文章标题的编码提交的输出
The encoding is utf-8
Discurso do Presidente da Rep�blica, Jair Bolsonaro, durante a apresenta��o do Projeto da Ponte de acesso ao Bairro Boa Esperan�a e ao Quilombo S�o Pedro - Eldorado/SP
---
Discurso do Presidente da Rep�blica, Jair Bolsonaro, durante a Apresenta��o de Projeto da Ponte sobre o Rio Pariquera-A�u - Pariquera-A�u/SP
---
Discurso do Presidente da Rep�blica, Jair Bolsonaro, durante entrega do Disc�bolo de Ouro - Pal�cio do Planalto
我怎样才能得到República
和apresentação
而不是Rep�blica
和apresenta��o
换句话说,如何在输出时将编码设置为UTF-8
Console
或Terminal
输出之间的差异李>r.text
更改为r.content.decode('utf-8')
repr(x.text)
也可以工作李>soup
对象中的所有内容都被解码,而输出str
则被解码李>环境/软件包
这听起来可能有点奇怪,但这样打印的唯一原因是因为我使用的是VS代码的输出。奇怪的行为,但问题解决了
VS代码中的输出
终端在VS代码中
问题一解决,我就认为这个问题已经回答了
谢谢
相关问题 更多 >
编程相关推荐