前提・実現したいこと
macでの実行です。
pythonの勉強中で、本のサンプルを実行しています。
ウェブサイトから画像を保存するコードがエラーが出てうまくいかず困っています。
昨日までは動いていたのですが、何故でしょうか?
思い当たるとすれば、windowsを入れたのですがそれが原因でしょうか?
よろしくお願いいたします。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/Users/yuga/Downloads/python2nen_sample/python2nen_sample/chap2/chap2-14.py", line 14, in <module> out_folder.mkdir(exist_ok=True) File "/Users/yuga/.pyenv/versions/3.8.5/lib/python3.8/pathlib.py", line 1284, in mkdir self._accessor.mkdir(self, mode) OSError: [Errno 30] Read-only file system: 'download2\t'
該当のソースコード
import requests from bs4 import BeautifulSoup from pathlib import Path import urllib import time # Webページを取得して解析する load_url = "https://www.ymori.com/books/python2nen/test2.html" html = requests.get(load_url) soup = BeautifulSoup(html.content, "html.parser") # 保存用フォルダを作る out_folder = Path("download2") out_folder.mkdir(exist_ok=True) # すべてのimgタグを検索し、リンクを取得する for element in soup.find_all("img"): src = element.get("src") # 絶対URLを作って、画像データを取得する image_url = urllib.parse.urljoin(load_url, src) imgdata = requests.get(image_url) # URLから最後のファイル名を取り出して、保存フォルダ名とつなげる filename = image_url.split("/")[-1] out_path = out_folder.joinpath(filename) # 画像データを、ファイルに書き出す with open(out_path, mode="wb") as f: f.write(imgdata.content) # 1回アクセスしたので1秒待つ time.sleep(1)
試したこと
エラー内容もわからないので何もしていません。
補足情報(FW/ツールのバージョンなど)
pythonはバージョン3.8.5
ATOMを使っています。
Windowsを入れた、というのは、
Bootcampなどで、仮想マシンにWindowsを入れた、ということでしょうか?
回答2件
あなたの回答
tips
プレビュー