【发布时间】:2018-05-22 15:41:10
【问题描述】:
如何解码字符串以识别python中的法语字符 例如“Pneus été”应该像“Pneus été”
我试过了,但是好像不行
var ='Pneus été'
print(var.decode('utf-8'))
这是我的原始代码:
from bs4 import BeautifulSoup
import os
import math
import requests
import pandas as pd
import helpers
import os
if __name__== '__main__':
soup = BeautifulSoup(open(os.getcwd()+"/Desktop/Pneus auto _ Michelin FR.html"), 'html.parser')
tyre_category = soup.find_all('div', class_='tyre')
for category in tyre_category:
tyre_name = category.img['alt']
tyre_season = category.find('span', class_='season-icon')['title']
url_for_tyre_details = category.find('a', class_='tyre-detail')['href']
print(tyre_name, tyre_season, url_for_tyre_details, sep=",")
输出:
MICHELIN Primacy 4,Pneus été,https://www.michelin.fr/pneus/michelin-primacy-4
MICHELIN Pilot Sport 4,Pneus été,https://www.michelin.fr/pneus/michelin-pilot-sport-4
MICHELIN Pilot Sport 4 S,Pneus été,https://www.michelin.fr/pneus/michelin-pilot-sport-4-s
MICHELIN Pilot Sport Cup 2,Pneus été,https://www.michelin.fr/pneus/michelin-pilot-sport-cup-2
MICHELIN CrossClimate+,toutes saisons,https://www.michelin.fr/pneus/michelin-crossclimateplus
MICHELIN Alpin 6,Pneus Hiver,https://www.michelin.fr/pneus/michelin-alpin-6
MICHELIN Pilot Alpin 5,Pneus Hiver,https://www.michelin.fr/pneus/michelin-pilot-alpin-5
MICHELIN Pilot Alpin PA4,Pneus Hiver,https://www.michelin.fr/pneus/michelin-pilot-alpin-pa4
请注意,变量 tyre_season 会打印成这样的“Pneus été”,而我想变成这样的“Pneus été”
【问题讨论】:
-
嗯,该字符串不包含法语重音字符。它包含garbage。这个字符串最初是怎么变成这样的?
-
您只是使用错误/未指定的编码打开文件。
-
在
open调用中添加一个ecoding='utf-8'命名参数,应该这样做。 -
那你愿意接受我的回答吗?很高兴知道它解决了您的问题!
标签: python utf-8 decode python-3.6