从带有 URL 的 .CSV 文件下载图像时出现 HTTP 403 我该怎么办?
Posted
技术标签:
【中文标题】从带有 URL 的 .CSV 文件下载图像时出现 HTTP 403 我该怎么办?【英文标题】:HTTP 403 when downloading images from a .CSV file with URL's What can I do? 【发布时间】:2021-12-21 14:32:35 【问题描述】:def url_to_jpg(i, url, FILE_PATH):
try:
url_basename = url.split("/")[-1]
filename = '.jpg'.format(url_basename.rsplit( ".", 1 )[ 0 ])
full_path = ''.format(FILE_PATH, filename)
response = urllib.request.urlretrieve(url, full_path)
print(' saved.'.format(full_path))
return None
except HTTPError as err:
print(err)
except:
e = sys.exc_info()[0]
print(e)
这是我的代码的核心部分,没有元素和东西,我能做些什么来避免 403 错误,也许尝试 selenium?
【问题讨论】:
您可能必须先授权才能下载这些图像。 403 表示禁止。服务器理解您的请求但拒绝了它,因为您没有正确的权限。 @Jeff 这是一个工作中的报废项目,我没有任何授权,这就是为什么我需要找到一种方法来跳过它。这是 1 个网址:bananarepublic.com.pe/media/catalog/product/cache/small_image/… 我用requests
下载这张图片没有问题。
您是否尝试过更改 User-Agent 请求标头?
【参考方案1】:
def url_to_jpg(i, url, filepath):
url_basename = url.split("/")[-1]
imagename = '.jpg'.format(url_basename.rsplit( ".", 1 )[0])
fullpath = ''.format(filepath, imagename)
response = requests.get(url, fullpath)
file = open(imagename, "wb")
file.write(response.content)
file.close()
print(' saved.'.format(fullpath))
return None
filename = 'libro.csv'
文件路径 = 'fotospython/' urls = pd.read_csv(文件名)
for i, url in enumerate(urls.values): url_to_jpg(i, url[0], 文件路径)
这是我使用代码的最终请求,它可以工作,但不能将文件放入文件夹中,现在可以工作
【讨论】:
以上是关于从带有 URL 的 .CSV 文件下载图像时出现 HTTP 403 我该怎么办?的主要内容,如果未能解决你的问题,请参考以下文章
尝试打开 .csv 文件时出现“从文件初始化失败”错误(这根本不应该有问题)
将 CSV 文件从 S3 加载到 Snowflake 时出现 SQL 编译错误