1. ホーム
  2. Python

Python3+BeautifulSoupがUnicodeEncodeErrorを報告:'charmap' codec can't encode characters in position

2022-02-19 11:36:25

開発環境です。

Eclipse 4.6.3

Python 3.6.2

BeautifulSoup 4.6.0

リクエスト 2.18.4

content = requests.get(url)
soup=BeautifulSoup(content.text,'html.parser')
print(soup.prettify())


多くの URL を置換する場合、position の値を除いて、以下のようなエラーメッセージが表示されます。

UnicodeEncodeError: 'charmap' コーデックは、ポジション227-238の文字をエンコードできません: 文字は <undefined> にマップされます。

最初は中国のサイトだけが問題なのかと思いましたが、英語のサイトに変えても同じ問題があったので、ネットでいろいろ調べて、やっと問題がわかりました。

Eclipseの新しいPydevモジュールのデフォルトエンコーディングはcp1252です。これをUTF-8に変更し、pyファイルを再度開き、エラーなく実行してください。