首页 > 解决方案 > Python - 进行搜索并从搜索引擎检索一定数量的图像

问题描述

我想从搜索引擎中获取图像,以运行一些自动化测试,而无需上网并手动选择它们。

我发现了一个 5 年前的旧示例(ajax.googleapis.com/ajax/services/search/images),遗憾的是它不再起作用了。目前在 Python3 中这样做的方法是什么?理想情况下,我希望能够传递带有搜索名称的字符串,并以全尺寸检索一定数量的图像。

我真的不介意使用哪个搜索引擎。我只是想确保它暂时得到支持。我也想避免硒;我打算在没有任何 UI 或浏览器的情况下运行它,所有这些都来自终端。

标签: python-3.x

解决方案


使用 BeautifulSoup 找到了一个很好的解决方案。

它在 Google 上不起作用,因为我得到 403,但是当伪造请求中的标头时,有时可能会获取数据。我将不得不尝试不同的其他网站。

到目前为止,工作流程是在浏览器中搜索,这样我就可以将 url 传递给 beautifulsoup。一旦我得到代码中的 url,我用一个变量替换了查询部分,所以我可以通过编程方式传递它。然后我解析 beautifulsoup 的输出以提取图像的链接,并使用requests.

我希望有一个公共 API 来获取图片大小等参数,但我发现目前没有任何工作。


推荐阅读