2017-09-14 87 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

嘗試添加的編碼參數去to_csv方法:'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') 

還要確保你在編輯器中與正確的編碼打開文件