[英]Google image download with python cannot download images
我正在使用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)
现在它给出了以下错误。
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
我该如何解决这个错误。
谷歌端发生了一些变化(他们如何响应请求)导致了这个问题。 github 上的Joeclinton1对原始 repo 做了一些修改,提供了一个临时修复。
您可以在此处找到更新的存储库: https : //github.com/Joeclinton1/google-images-download.git 。 如果我没记错的话,解决方案是在patch-1
分支中。
首先卸载当前版本的 google_images_download。
然后通过以下方式手动安装 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
或者用pip安装
pip install git+https://github.com/Joeclinton1/google-images-download.git
这应该可以解决问题。 请注意,目前此 repo 最多仅支持 100 个图像。
我在使用 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)
而已! 您需要做的就是将图像主题添加到 query_string。
笔记:
您可以进一步调整的参数:
query_string :要搜索的字符串。
限制:(可选,默认为 100)要下载的图像数量。
output_dir :(可选,默认为“数据集”)输出目录的名称。
Adult_filter_off :(可选,默认为 True)启用禁用成人过滤。
force_replace :(可选,默认为 False)删除文件夹(如果存在)并开始新的下载。
timeout : (可选,默认为 60) 连接超时秒数。
另一种下载任意数量图像的简单方法:-
pip 安装 simple_image_download
从 simple_image_download 导入 simple_image_download 作为 simp
response = simp.simple_image_download response().download(a, b)
其中 a= 要下载的主题字符串 B= 要下载的图像数量
如果您想为每个查询字符串下载少于 100 张图片, google-images-download
会比bing-images-downloader
更好。 它可以更好地处理错误,而且,您知道,Google 图片提供的结果比 Bing 等价物要好得多。
但是,如果您尝试下载超过 100 张图片, google-images-downloader
会让您头疼。 正如在这个答案中提到的,谷歌改变了他们的结局,因此回购有很多失败(关于情况状态的更多信息在这里)。
因此,如果您想下载数千张图片,请使用bing-image-downloader
:
从 pip 安装包
pip install bing-image-downloader
运行查询。
注意:文档似乎不正确,因为它在from bing_image_downloader import downloader
导入包时返回“未找到模块”错误(如本答案所述)。 导入它并像这样使用它:
from bing_image_downloader.downloader import download
query_string = 'muscle cars'
download(query_string, limit=1000, output_dir='dataset', adult_filter_off=True, force_replace=False, timeout=60, verbose=True)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.