0
は、だから私は、私は、HTMLデータからなる文字列を読んでいる、と私はこのような文字列を処理しています、Python3.5で奇妙なエンコーディングエラーに遭遇しています:エンコーディングエラーPython3.5
def parseHtml(self,url):
r = requests.get(self.makeUrl())
data = r.text.encode('utf-8').decode('ascii', 'ignore')
self.soup = BeautifulSoup(data,'lxml')
私は、次を印刷しようとしているときにエラーが発生した:
def extractTable(self):
table = self.soup.findAll("table", { "class" : "messageTable" })
print(table)
私は自分のロケールをチェックして、およびSOの前の同様の記事で述べたようにエンコード/デコードのさまざまなバリエーションを試してみました。最も奇妙なこと(私にとって)は、スクリプトが完璧に別のマシンと私のラップトップで動作することです。しかし、私のWindowsマシン上で、私のUbuntu上(リモートサーバにCygwinを使用して)それは単に実行文句を言わないインストールしています私は:
UnicodeEncodeError: 'ascii' codec can't encode character '\xa0' in position 1273: ordinal not in range(128)
これは、Python 3.5には「ユニコード」がありません。 –
あなたは2.7でコードを実行していますが、データを無視してデコードした後にUnicode BOMを作成することはできません。また、Python 3のどこでも例外がスローされます。 –
http://stackoverflow.com/questions/9942594/unicodeencodeerror-ascii-codec- cant-encode-character-u-xa0-in-position-20 – Maddy