从url下载和保存图像时获得权限被拒绝的错误

时间:2019-08-20 19:01:17

标签: python

我正在尝试制作网络抓取工具,以从搜索到的关键字下载图像。该代码可以正常工作,直到必须从提取的URL下载该图像为止

from bs4 import BeautifulSoup
import requests
import os
import urllib

search = raw_input("search for images: ")
params = {"q": search}
r = requests.get("http://wwww.bing.com/images/search", params=params)
dir_name = search.replace(" ", "_").lower()

if not os.path.isdir(dir_name):
    os.makedirs(dir_name)

soup = BeautifulSoup(r.text, "html.parser")
links = soup.findAll("a", {"class": "thumb"})

for items in links:
    img_obj = requests.get(items.attrs["href"])
    print "Getting: ", items.attrs["href"]
    title = items.attrs["href"].split("/")[-1]
    urllib.urlretrieve(items.attrs["href"], "./scrapped_images/")

输出:

search for images: cats
Getting:  http://c1.staticflickr.com/3/2755/4353908962_2a0003aebf.jpg
Traceback (most recent call last):
  File "C:/Users/qazii/PycharmProjects/WebScrapping/exm.py", line 21, in <module>
    urllib.urlretrieve(items.attrs["href"], "./scrapped_images/")
  File "E:\anaconda\envs\WebScrapping\lib\urllib.py", line 98, in urlretrieve
    return opener.retrieve(url, filename, reporthook, data)
  File "E:\anaconda\envs\WebScrapping\lib\urllib.py", line 249, in retrieve
    tfp = open(filename, 'wb')
IOError: [Errno 13] Permission denied: './scrapped_images/'

1 个答案:

答案 0 :(得分:0)

您正在尝试将图像保存到名为 $request = new Request( 'PUT', 'https://discordapp.com/api/v6/guilds/'.$guildId.'/members/'.$user->discordId(), [ 'Authorization' => 'Bot '.$this->botToken, "Content-Type" => "application/json" ], '{"access_token" : "'. $this->discordApplication->accessToken()->__toString().'"}' ); 的“文件”中。由于这是一个目录而不是文件,因此会出现权限错误(您无法使用写权限打开目录)。而是尝试保存为特定的文件名。

./scraped_images/