用python下载谷歌图片无法下载图片

Ami*_*ith 12 python google-image-search

我正在使用google_images_download库下载关键字的前 20 个图像。当我最后几天使用它时,它工作得很好。代码如下。

from google_images_download import google_images_download

response = google_images_download.googleimagesdownload()

arguments = {"keywords":keyword,"limit":10,"print_urls":True}
paths = response.download(arguments)
Run Code Online (Sandbox Code Playgroud)

现在它给出了以下错误。

Evaluating...
Starting Download...


Unfortunately all 10 could not be downloaded because some images were not downloadable. 0 is all we got for this search filter!

Errors: 0
Run Code Online (Sandbox Code Playgroud)

我该如何解决这个错误。

小智 16

谷歌端发生了一些变化(他们如何响应请求)导致了这个问题。github 上的Joeclinton1对原始 repo 做了一些修改,提供了一个临时修复。

您可以在此处找到更新的存储库:https : //github.com/Joeclinton1/google-images-download.gitpatch-1如果我没记错的话,解决方案是在分支中。

  1. 首先卸载当前版本的 google_images_download。

  2. 然后通过以下方式手动安装 Joeclinton1 的 repo:

git clone https://github.com/Joeclinton1/google-images-download.git
cd google-images-download && sudo python setup.py install #no need for 'sudo' on windows Anaconda environment
Run Code Online (Sandbox Code Playgroud)

或者用pip安装

pip install git+https://github.com/Joeclinton1/google-images-download.git
Run Code Online (Sandbox Code Playgroud)

这应该可以解决问题。请注意,目前此 repo 最多仅支持 100 个图像。


小智 7

我在使用 google-image-download 时遇到了同样的问题,它以前可以完美运行!我有一个我想建议的替代方案,它应该可以解决问题。

解决方案:不要为 Python 使用 google-image-download,而是使用从 Bing 下载的 bing-image-downloader!搜索引擎。

脚步:

第 1 步: 使用以下命令安装库:pip install bing-image-downloader

第2步:

from bing_image_downloader import downloader
downloader.download(query_string, limit=100,  output_dir='dataset', 
adult_filter_off=True, force_replace=False, timeout=60)
Run Code Online (Sandbox Code Playgroud)

就是这样!您需要做的就是将图像主题添加到 query_string。

笔记:

您可以进一步调整的参数:

query_string :要搜索的字符串。

限制:(可选,默认为 100)要下载的图像数量。

output_dir :(可选,默认为“数据集”)输出目录的名称。

Adult_filter_off :(可选,默认为 True)启用禁用成人过滤。

force_replace :(可选,默认为 False)删除文件夹(如果存在)并开始新的下载。

timeout : (可选,默认为 60) 连接超时秒数。

进一步参考:https : //pypi.org/project/bing-image-downloader/