Python 3中的编码问题

jc3wubiy  于 2023-11-20  发布在  Python
关注(0)|答案(2)|浏览(90)

我有奇怪的问题在在 selenium Python的Unicode页面.我分享完整的代码,代码是给我错误的编码.我尝试了几乎每一件事,但没有成功到目前为止,任何帮助将不胜感激.

# -*- coding: UTF-8 -*-
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
from selenium.webdriver.support import expected_conditions as ec
import time

options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')
options.add_argument('--ignore-certificate-errors-spki-list')
options.add_argument('--ignore-ssl-errors')
options.add_argument("--headless")
options.add_argument("--window-size=1920x1080")
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
#options.add_experimental_option('prefs', {'intl.accept_languages': 'pt,pt_BR'})

chrome_path = '/var/www/chromedriver'
driver = webdriver.Chrome(chrome_path,  options=options)
driver.get("http://www.correios.com.br/solucoes-empresariais/correios-facil")
driver.implicitly_wait(10)
a = driver.find_elements_by_css_selector("p")
for i in a:
    s = i.text
    #s = s.encode("UTF-8")
    print(s)

driver.quit()

字符串
在输出中,我得到了错误的编码,如下所示
Com as soluçées de um operador logànestico,a sua empresa pode se destacar e crescer ainda迈斯. Fortaleça seu pácio,tornando-se um parceiro dos Correios. Com o Cartão Correios Fávocà teráacesso à vouens exclusivas,preços diferenciados,ferramentas gratuitas e pagamento a prazo. Adquira agora o seu Cartão Correios Fácio. Com ele vocà poderáutilizar os serviços:Encomendas,Carta Comercial,Imperial,*CorreiosLog+,Certificação Digital,**Produtos. Atenção!Vocà vai precisar do seu certificado digital(e-CNPJ). Caso não possua,clique aqui. Se sua empresa ou o <$rgão póblico que vocà representa,ainda não possui contrato com os Correios,ou se já possui e deseja ter acesso a outros serviços e condiçées ainda迈斯vantajosas,utilize a modalidade abaixo,através do Sistema Eletrénico de Informacées SEI:帕拉te ajudar,criamos o seguinte帕索a帕索Caso vocæqueira ir direto para a pá gina do SEI,clique aqui Em caso de dóvidas,entre em convenience com nossa Central de Atendimento pelo telefone 3003-0800. * 帕拉começar a utilizar o serviço de logacastica <$CorreiosLog+,preencher o formulá rio http://www2.correios.com.br/servicos/falecomoscorreios/cliente_contrato.cfm帕拉atendimento comercial.**Sujeito à disponibilidade.<$Clique aqui e conheça os Termos e Anexos dos Serviços contratados.<$

krugob8w

krugob8w1#

检查您的系统编码:

import sys
import locale

print(sys.getfilesystemencoding())
print(locale.getpreferredencoding())

字符串
很可能它不是UTF-8。所以你必须把它改成:
第一个月
使用locale -a获取可用区域设置的列表。

00jrzges

00jrzges2#

试试这个:

test = ' Relógio feminino dourado '
    label =  test.encode('latin-1').decode('utf-8')

字符串
关于编码的更多信息:https://docs.python.org/3/library/codecs.html#standard-encodings

相关问题