2017-09-14 26 views
0

以下のコードで、特殊文字を含むURLから説明を抽出しようとしました。ファイルをcsvに書き込むときにデコードの問題

from bs4 import BeautifulSoup 
import urllib.request 
import pandas as pd 
html = urllib.request.urlopen('http://uk.rs-online.com/web/p/piezoelectric- 
miniature-speakers/7868948/').read() 
soup = BeautifulSoup(html) 
description = soup.find(itemprop="name").string.strip() 
description 
pd.DataFrame([description]).to_csv('file.csv') 

csvファイルでスクレイプされたデータを表示すると、これらの特殊文字が疑問符に置き換えられました。

csvファイルでこれらの特殊文字を取得する方法。

ご協力いただきありがとうございます。

+0

エディタであなたは正しいエンコーディングでファイルを開いていることを確認します。 'pd.DataFrame([説明])to_csv(「file.csvになり」 、encoding = 'latin1') ' – Vinny

答えて

0

適切なエンコードを選択すると、ファイルに特殊文字が表示されます。私はutf8でテストし、すべての特殊文字は正しく表示されます。

from bs4 import BeautifulSoup 
import urllib.request 
import pandas as pd 
html = urllib.request.urlopen('http://uk.rs-online.com/web/p/piezoelectric-miniature-speakers/7868948/').read() 
soup = BeautifulSoup(html) 
description = soup.find(itemprop="name").string.strip() 
pd.DataFrame([description]).to_csv('file.csv', encoding='utf8') 

また方法をto_csvするエンコーディングのparamを追加してみ

関連する問題