0
file_txt = urllib.request.urlopen("ftp://ftp.sec.gov/edgar/data/1220985/0000930413-12-003922.txt")
file = file_txt.read().decode('cp1252')
soup = BeautifulSoup(file)
print(soup.prettify())
#UnicodeEncodeError: 'charmap' codec can't encode character '\x92' in position 11900: character maps to <undefined>

txtファイルを確認しました。ブラウザで表示すると、\x92実際には の HTML エンティティとして表示され&#146ます'。ブラウザと同じエンコーディング スキーム ( ) を使用してデコードした後、エラーが発生する理由がわかりませんcp1252

4

2 に答える 2

2

通常BeautifulSoup、Web ページで使用されているエンコードを検出するのが得意で、利用可能な場合はchardetライブラリを使用して検出します。したがって、 chardetパッケージをインストールしBeautifulSoupて、エンコーディングを把握することをお勧めします。

pip install chardet (or easy_install chardet)

これが役立つことを願っています。

于 2012-07-12T20:26:15.443 に答える