ScraperWikiでスクレイパーを作成しているときに、UTF8 でエンコードされた文字列を保存しようとすると、次のメッセージが繰り返し表示されました。
UnicodeDecodeError('utf8', ' the \xe2...', 49, 52, 'invalid data')
最終的に、試行錯誤と UnicodeDecodeError によって、ScraperWiki データストアが Unicode を想定しているように見えることがわかりました。
そのため、データストアに保存する直前に UTF-8 からデコードし、すべてを Unicode に変換しています。
try:
for k, v in record.items():
record[k] = unicode(v.decode('utf-8'))
except UnicodeDecodeError:
print "Record %s, %s has encoding error" % (k,v)
scraperwiki.datastore.save(unique_keys=["ref_no"], data=record)
これはエラーを回避しますが、賢明ですか? ScraperWiki データストアがサポートしているエンコーディングを確認できる人はいますか?
ありがとう!