python2年生スクレイピングという教材で現在勉強しています。
教材にあるコードをそのまま入力し、スクレイピングしようとしましたが、
なぜかエラーコードが出てしまいます。
OSはwindows10です。
教科書の指示通り行っていない点としては、2点あります。
⓵教科書ではpython3をインストールしていますが、
私は今後のためにanaconda2をインストールしています。
(anaconda3がインストール不可だったため。)
⓶教科書ではIDLEというエディタを使用していますが、
私は他サイトで推奨されていたVSCODEを使用しています。
こちらが原因でしょうか。
プログラムを動かすとdownload.textファイルに保存されるはずが、何も保存されていません。
教科書には「response.encoding = response.apparent_encoding」で文字化けを避けれると記載がありましたが、このコードでは不十分なのでしょうか。
大変恐縮ですが、ご教授いただければ幸いです。
python
1import requests 2 3url = "https://www.ymori.com/books/python2nen/test2.html" 4response = requests.get(url) 5 6response.encoding = response.apparent_encoding 7 8filename = "download.txt" 9 10f = open(filename, mode="w") 11 12f.write(response.text) 13 14f.close()
error
1Windows PowerShell 2Copyright (C) Microsoft Corporation. All rights reserved. 3 4新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 5 6PS C:\Users\miyu\Desktop\mypython> conda activate base 7PS C:\Users\miyu\Desktop\mypython> & C:/Users/miyu/Anaconda2/python.exe c:/Users/miyu/Desktop/mypython/scrape.py 8Traceback (most recent call last): 9 File "c:/Users/miyu/Desktop/mypython/scrape.py", line 12, in <module> 10 f.write(response.text) 11UnicodeEncodeError: 'ascii' codec can't encode characters in position 72-73: ordinal not in range(128) 12PS C:\Users\miyu\Desktop\mypython>