pythonで指定したフォルダにファイルの書き込みを行いたい
エラーが表示され、画像ファイルを指定したフォルダに書き込むことができません。
指定フォルダをC:\\Users\\???\\Desktop\\pics_directry
にするとファイルの書き込みはできます。フォルダ(pics_directry)にはたくさんフォルダがあり、この中に画像ファイルを書き込みたいです。
<エラー文>
with open(savepath, mode="wb") as f:
PermissionError: [Errno 13] Permission denied:
<実行した内容>
url = "https://......"
class AppURLopener(req.FancyURLopener):
version = "Mozilla/5.0"
opener = AppURLopener()
res = opener.open(url)
soup = BeautifulSoup(res, "html.parser")
links = soup.div.center.find_all("a")
target_links = [link.get('href') for link in links]
for img_links in target_links:
o = urlparse(img_links)
savepath = 'C:\\Users\\???\\Desktop\\pics_directry\\' + o.netloc + o.query
if not os.path.exists(savepath):
print("makedirs=", savepath)
os.makedirs(savepath)
res = opener.open(img_links)
soup = BeautifulSoup(res, "html.parser")
img_links = soup.select(" div > p > a > img")
img_target_links = [link.get('src') for link in img_links]
print(img_target_links)
for s in img_target_links:
re = requests.get(s)
print('Download:', s)
with open(savepath, mode="wb") as f:
f.write(re.content)
time.sleep(0.1)
※追記
やはり自分では作成したフォルダへ画像ファイルを直接書き込むことができませんでした。なので、画像ファイル書き込みを他のフォルダ上で行いその後 glob()やshutil.move()などを使って指定のフォルダに移動しました。やりたかったことは一応達成できました。ありがとうございました。