【问题标题】:Downloading image files from websites从网站下载图像文件
【发布时间】:2017-11-24 15:54:23
【问题描述】:

我有一个正则表达式,它为图像名称/来源抓取网站: 一旦运行代码,image 就会像这样显示:

[+] 4 images Found:
2018-a-space.JPG
small.jpg
picture.gif
image-certified.jpg

我现在想将这些图像下载到同一工作目录中的文件夹中。我在这里查看了一些类似的问题,大多数建议使用我不想使用的 beautifulsoup。但是如果合适的话,不要介意导入其他模块。 提前致谢。

【问题讨论】:

  • 如果您的代码的正则表达式部分按预期工作,请将其从问题中删除,因为它似乎不相关。问题似乎只是“给定一个 url 列表,我如何下载它们?”

标签: python python-3.x web-scraping


【解决方案1】:

无需阅读所有内容。

使用 requests 库 — 只需在命令提示符下使用 pip requests install 安装它。

您需要将图片的完整网址(而不仅仅是文件名)传递给requests.get,如此处所示。

open 语句中,您可能只需要一个文件名就可以逃脱,就像我一样,因为您想将文件存储在当前工作目录中。请注意,该文件必须以“wb”打开。

>>> import requests
>>> url = 'https://ichef.bbci.co.uk/news/660/cpsprodpb/AB10/production/_93629734_thinkstockphotos-625798052.jpg'
>>> response = requests.get(url).content
>>> open('squirrel.jpg', 'wb').write(response)
59938

这也假设图像不是“太大”。如果是,那么您应该参考文档以获取有关以较小的部分阅读它们的进一步建议。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多