#環境
mac, anaconda
#行いたいこと
ローカルにあるhtmlファイルをbeautifulsoupに渡したい。
python
1from bs4 import BeautifulSoup as bs 2 3file1 = "/Users/**/Desktop/**/**.htm" 4soup = bs(open(file1),'lxml')
#エラーコード
'utf-8' codec can't decode byte 0x82 in position 364: invalid start byte
#試したことなど
他のhtmlファイルは無事,分析できたのですが,その違いは文字コードがutf-8かshift-jisかの違いでした。
そこで,openの引数に"encoding="Shift-JIS"と指定したのですが,同様のエラーが出てしまいました。
また,soupの引数にfrom_encording=で指定してみたのですが,それも同様のエラーが出ました。
#教えていただきたいこと
beautifulsoupで,shift-jisのhtmlを解析する方法を教えていただきたいです。色々と調べてはみたのですが,どのようにやってもエラーが出てしまいます。
もしくは,shift-jisのhtmlをutf-8を変換する方法を教えていただきたいです。こちらも調べてはみたのですが,実装には至りませんでした。
#追加・補充
以下のコードを試したところ,同様のエラーが出てしまいました。
soup = bs(open(file1, 'rb').read().decode('Shift-JIS'), 'lxml')
'shift_jis' codec can't decode byte 0x87 in position 2020: illegal multibyte sequence
回答2件
あなたの回答
tips
プレビュー