前提
pythonを使用しています。
soup.selectした値を文字コードANSIでテキストファイルに保存し、さらにそれをdatファイルに変換したいす。
下記コードでencoding=をUTF-8にした場合は、UTF-8でテキストファイルを保存し、その後datに変換できています。
文字コードをANSIで保存する方法だけわかりません。
実現したいこと
soup.selectした値を文字コードANSIでテキストファイルに保存する。
テキストファイルの拡張子を文字コードANSIのままdatに変更する。
発生している問題・エラーメッセージ
UnicodeEncodeError: 'mbcs' codec can't encode characters in position 0--1: invalid character
該当のソースコード
python
1#値を取得 2res = requests.get(url) 3soup = BeautifulSoup(res.text,"html.parser") 4main = soup.select("a") 5 6#値を文字列化する 7main = str(main) 8 9#テキストに書き込み 10f = open("変換前.txt", "w", encoding='ANSI') 11f.write(main) 12f.close() 13 14#datに書き換え 15import sys 16import os 17file1 = '変換前.txt' 18file2= '変換前後.dat' 19os.rename(file1, file2)
試したこと
下記のサイトのなどを参考に対象ファイルのところを自分のファイルに置き換えてみたりしたのですが、上記のようなエンコード関連のエラーが出ます。
https://magazine.techacademy.jp/magazine/21128
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/12/11 18:36
2022/12/11 18:46
2022/12/11 23:38
2022/12/12 01:23