前提
visual studio 2022
python 3.9
実現したいこと
初心者の質問で恐縮ですが、よろしくお願いいたします。
Yahoo!ニュースの画像を取得する
https://news.yahoo.co.jp/
該当のソースコード
python
1import requests 2from bs4 import BeautifulSoup 3from pathlib import Path 4import urllib 5import time 6 7load_url = "https://news.yahoo.co.jp/" 8html = requests.get(load_url) 9soup = BeautifulSoup(html.content, "html.parser") 10 11out_folder = Path("download2") 12out_folder.mkdir(exist_ok = True) 13 14 15for element in soup.find_all("a"): 16 href = element.get("href") 17 image_url = urllib.parse.urljoin(load_url,href) 18 imgdata = requests.get(image_url) 19 filename = image_url.split("/")[-1] 20 out_path = out_folder.joinpath(filename) 21 22with open(out_path, mode ="wb")as f: 23 f.write(imgdata.content) 24 25time.sleep(1) 26
エラー内容
エラーの場所:
python
1with open(out_path, mode ="wb")as f: 2 f.write(imgdata.content)
Permission denied: 'download2'
download2のフォルダに画像を書き出す部分でエラーが出ています。
試したこと
1.out_path が機能しているかの確認
python
1import requests 2from bs4 import BeautifulSoup 3from pathlib import Path 4import urllib 5import time 6 7load_url = "https://news.yahoo.co.jp/" 8html = requests.get(load_url) 9soup = BeautifulSoup(html.content, "html.parser") 10 11out_folder = Path("download2") 12out_folder.mkdir(exist_ok = True) 13 14 15for element in soup.find_all("a"): 16 href = element.get("href") 17 image_url = urllib.parse.urljoin(load_url,href) 18 imgdata = requests.get(image_url) 19 filename = image_url.split("/")[-1] 20 out_path = out_folder.joinpath(filename) 21 print(out_path) 22time.sleep(1)
結果
download2 download2 download2 download2\registration?.intl=jp&.done=https%3A%2F%2Fnews.yahoo.co.jp%2F&.src=news download2\login?.src=news&lg=jp&.intl=jp&.done=https%3A%2F%2Fnews.yahoo.co.jp%2F download2\me download2\purchase download2\blocked-users download2 download2\flash download2\live download2 download2 download2 download2\news download2\paidnews?source=pc-common-glonav download2 download2\domestic download2\world download2\business download2\entertainment download2\sports download2\it download2\science download2\life download2\local download2\top-picks download2\noscript download2\6435317 download2\6435324 download2\6435315 download2\6435316 download2\6435319 download2\6435312 download2\6435320 download2\6435323 download2\top-picks download2\topics download2\6435324 download2\news download2\5a62e7da42676b7f53169730575362670d53d278 download2\2096765afdfa0c549547a6c34d941443e86f47f7 download2\81c4d2b3b65c4ef8e195086cbe34ec8ee991acb9 download2\96db5d93fd476ff34c552e31c44e727389df05ad download2\af8583038251799df558f129c04b705c78ee03e2 download2\comment download2\81c4d2b3b65c4ef8e195086cbe34ec8ee991acb9 download2\17429c5dc24db6f31128f5cd5e61db880497ef1e download2\441a5d77ec1dabf6261e3b2d50e1eec4d9681ae5 download2\172464ff295002de132035120c83bfd6c59aae40 download2\f3a0b5804300fabf8888b4f9807b0a58b276d2f4 download2\b2916c23d491141a36c3959618e0fba8b3c8290c download2\magazine download2\529e5b6339042bd8ad8ba4456fb773f57679381a download2\f7deb73abb43793cd549ec1f31efc40cd4a9e2b5 download2\1750ed3b9c7e60022ae988d22dd4d7af1872abd2 download2\8ea34cec762f0f2512bd07a375101a33704d7f10 download2\f0efb5faacdf85b965414892deb19d7b47f8aabf download2 download2\yjnews download2\YahooNewsTopics download2 download2 download2\flash download2\live download2 download2 download2 download2\news download2\paidnews download2\rss download2\media download2 download2 download2 download2\news-operation-policy download2\H000006460 download2\commercial-transactions download2\news download2
2.他のサイトで試す
https://www.elle.com/jp/decor/decor-architecture/g27036488/kumakengo-19-0405/?slide=1
python
1import requests 2from bs4 import BeautifulSoup 3from pathlib import Path 4import urllib 5import time 6 7load_url = "https://www.elle.com/jp/decor/decor-architecture/g27036488/kumakengo-19-0405/" 8html = requests.get(load_url) 9soup = BeautifulSoup(html.content, "html.parser") 10 11out_folder = Path("download2") 12out_folder.mkdir(exist_ok = True) 13 14 15for element in soup.find_all("img"): 16 src = element.get("src") 17 image_url = urllib.parse.urljoin(load_url,src) 18 imgdata = requests.get(image_url) 19 filename = image_url.split("/")[-1] 20 out_path = out_folder.joinpath(filename) 21 print(out_path) 22 23with open(out_path, mode ="wb")as f: 24 f.write(imgdata.content) 25 26time.sleep(1) 27
エラー場所
imgdata = requests.get(image_url)
内容
Message=No connection adapters were found for 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7'
Source=C:\Users\Michiko\Desktop\app2\scraping\scraping\scraping.py
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。