Python
1import requests 2from bs4 import BeautifulSoup 3 4url = "https://www.ymori.com/books/python2nen/test1.html" 5html = requests.get(url) 6soup = BeautifulSoup(html.content, "html.parser") 7 8#適切にエンコードする 9html.encoding = html.apparent_encoding 10 11filename = "download.txt" 12with open(filename, mode="w") as f: 13 f.write(html.text)
書籍を見ながらPythonを勉強しています。著者が提供するサイトをrequests
でアクセスしてテキストファイルでダウンロードするという部分です。書籍の説明ではhtml.encoding = html.apparent_encoding
の行を「自動で適切なエンコードをしてくれる」と説明してあるものの書き込まれたテキストファイルを開くと文字化けします。コードはWindowsのvsCodeでUTF-8で書いて同じvsCodeでUTF-8で開いています。htmlもUTF-8で書かれているようなので、なぜ文字化けするのかわかりません。開くときにShift_JISを指定すると文字化けが解消されます。念の為print(html.encoding)
を利用してみるとUTF-8が返ってきました。
UTF-8で保存する方法を教えていただけないでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2020/10/13 09:28
2020/10/13 11:02
退会済みユーザー
2020/10/14 04:37