前提・実現したいこと
市販の書籍のサンプルコードを使用し、ウェブサイトから情報を抜き出し、テキストファイルとして書き出すという処理を行ったのですが、テキストファイルの日本語部分が文字化けしてしまいます。
対処法を教えていただきたいです。よろしくお願いします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:/Users/backp/Desktop/pycon.py", line 22, in <module> f.write('{0:<10}| {1}\n'.format(language, title)) UnicodeEncodeError: 'cp932' codec can't encode character '\xe6' in position 13: illegal multibyte sequence
該当のソースコード
python3.9.0
1import requests 2from bs4 import BeautifulSoup 3 4result = requests.get('https://pycon.jp/2016/ja/schedule/talks/list/') 5soup = BeautifulSoup(result.text, 'html.parser') 6presentation_html_list = soup.find_all('div', class_='presentation') 7 8with open('pyconjp-2016-talks.txt', 'w') as f: 9 f.write('{0:<10}| {1}\n'.format('language', 'title')) 10 f.write('{0:<10}| {0}\n'.format('---------')) 11 12 for presentation_html in presentation_html_list: 13 presentation_title = presentation_html.h3.get_text() 14 15 if '(en)' in presentation_title: 16 language = 'English' 17 title = presentation_title.replace('\xa0(en)','') 18 elif '(ja)' in presentation_title: 19 language = 'Japanese' 20 title = presentation_title.replace('\xa0(ja)','') 21 22 f.write('{0:<10}| {1}\n'.format(language, title)) 23 24
試したこと
with open('pyconjp-2016-talks.txt', 'w', encoding='utf-8') as f: ```と文字コードを指定したところエラーは表示されなくなりましたが、文字化けしたテキストファイルになってしまいます。 ```ここに言語を入力 # -*- coding: utf-8 -*- ```を先頭につけても文字化けしたままでした ```ここに言語を入力 language | title --------- | --------- Japanese | [æå¾ è¬æ¼ / Invited Talk] Pythonãå«ãå¤ãã®ããã°ã©ãã³ã°è¨èªãæ±ãå¦çãã¬ã¼ã ã¯ã¼ã¯ã¨ãã¿ã¼ã³ Japanese | Blockchain for Pythonistas Japanese | ãã¤ã¯ããµã¼ãã¹ãå©ç¨ããå´ã®ããã©ã¼ãã³ã¹åä¸ç Japanese | é±æ«ãµã¤ã¨ã³ãã£ã¹ãã®ã¹ã¹ã¡ Japanese | Pythonã§ä½ãWebã¯ãã¼ã©å ¥é Japanese | Pythonã§ä½ãTiny DAW (Digitai Audio Workstation) Japanese | ãã£ãä¸ãã¡ã¤ã«ã® python ã¹ã¯ãªããããå§ãã OSS éçºå ¥é Japanese | ãã¼ã¿åæã¹ã¯ãªããã®ãã¼ã«åå ¥é(GUIä»ä¸ã»EXEå) English | Mezzanine, the best CMS on Python English | Getting started with chatops in python with errbot Japanese | ãã¥ã¼ã©ã«ãããã¯ã¼ã¯ã®ãã¬ã¼ã ã¯ã¼ã¯ã§ããChainerã§å§ãã対話Botã®ä½æ English | Building a Simple Japanese Content-Based Recommender System in Python Japanese | æ°å¦çåºç¤ããå¦ã¶ Deep Learning Japanese | ä»äºã§ä½¿ãã¡ãã£ã¨ããã³ã¼ããOSSã¨ãã¦éçºã¡ã³ããã¦ãã - Django Redshift Backend ã®éçº Japanese | ããã±ã¼ã¸ã³ã°ãæ¯ããæè¡ Japanese | åºç¤ããå¦ã¶Webã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®ä½ãæ¹ Japanese | PythonistaããPythonistaãç¥ã£ã¦ããããããããªã®æ¬²ããã£ãï¼ iOSã¢ããªéçºç°å¢Pythonistaã Japanese | è¤æ°ã®è¨èªãããªãããã¸ã§ã¯ããä½ãã¨ããã㨠Japanese | ç¡æã§ã§ãããCloud9ä¸ã§éçºãã¦Herokuã«ãããã¤ããæé ãå ±æãã¾ã English | How Python helped create the visual effects for an Emmy nominated TV show Japanese | [æå¾ è¬æ¼ / Invited Talk] 確ççãã¥ã¼ã©ã«ãããã®å¦ç¿ã¨ Chainer ã«ããå®è£ Japanese | Robot Frameworkã§ãã©ã¦ã¶ãã¹ããã£ã¦ã¿ã話 Japanese | Pythonã§ã¯ãããfinance hackå ¥é English | You Might Not Want Async (in Python) Japanese | Pythonã§pyftpdlibã使ã£ã¦FTPãµã¼ãã¼ãä½ãéã«ä½¿ã£ããã¯ããã¯ã®ç´¹ä» Japanese | Pythonã§ãPythonãããªãã¦ã使ããæ±ç¨çãªMicroserviceå®è¡ç°å¢ Japanese | f2pyã¨matplotlibãç¨ãããã©ã¦ã³ç²åååå¦ã®ãªã¢ã«ã¿ã¤ã å¯è¦å Japanese | Pythonã§å®ç¾ãã4ã³ã漫ç»ã®åæã»è©è« Japanese | HTTPããã¯ã·ã©ã¤ãã©ãªproxy2ã®è¨è¨ã¨å®è£ Japanese | Raspberry Piã§æ¥æ¬ã®åä¾ãã¡ã«ããã°ã©ãã³ã°ã®ããã·ã§ã³ãä¼ããã English | Deep Learning with Python & TensorFlow Japanese | ããã°ãã¼ã¿ã¨Pythonã§ã¯ãããéçã®çµ±è¨åæ Japanese | Pythonã§å ¥éããApache Spark English | import community English | Building Distributed System with Celery on Docker Swarm Japanese | Python ãæ¯ããæè¡: ã¢ã¸ã¥ã¼ã«ã»ã¤ã³ãã¼ãã·ã¹ãã ç·¨ Japanese | Plone5ã®OSSã«ãããé²åã¨é©å¿ ã PyCon (US) 2016 Keynoteã®æ¥æ¬èªã§ã®åæ¼ Japanese | ã¡ã¿ããã°ã©ãã³ã°Python Japanese | ã¯ããã¦ä½ãDjangoãã©ã°ã¤ã³ Japanese | Pythonã§ã¯ãããOpenAI Gymãã¬ã¼ãã³ã° Japanese | pandasã«ããæç³»åãã¼ã¿å¦ç English | Building An Interpreter In RPython Japanese | Pausable Unittest on EFI Stackless Python English | Building a data preparation pipeline with Pandas and AWS Lambda Japanese | Python ãã¼ã¿ã¼ãã¼ã¹ãã©ã¤ãã¼ã®ä½ãæ¹ Japanese | åãã³ãã«ã¤ãã¦èããã! English | Sleepy: How to suspend and resume your cpython process from inside
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/10 10:19