gpt4 book ai didi

python - 无法使用 Python 从 url 链接下载图像

转载 作者:行者123 更新时间:2023-12-01 01:31:10 25 4
gpt4 key购买 nike

我想从网络下载图像,但无论使用什么方法,我总是收到错误。不过,我使用这种方法下载其他图像没有问题。

有效 - https://mobec.sk/proxy/geo?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng8&TRANSPARENT=true&layers=global%3Abase&tiled=true&STYLES=&WIDTH=512&HEIGHT=512&CRS=EPSG%3A3857&FORMAT_OPTIONS=dpi%3A180&BBOX=1934774.0599543825%2C6239707.492975509%2C1937220.044859508%2C6242153.477880634

不起作用 - https://mobec.sk/proxy/geo?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&layers=custom%3Avrbovce_elektrina&tiled=true&STYLES=&WIDTH=512&HEIGHT=512&CRS=EPSG%3A3857&FORMAT_OPTIONS=dpi%3A180&BBOX=1947003.9844800085%2C6242153.477880634%2C1949449.969385134%2C6244599.46278576

方法一

使用 Python 的 requests 和 Pillow 库。这里应该直接从 url 下载图像。

import requests
from PIL import Image
from io import BytesIO

url = 'https://mobec.sk/proxy/geo?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&layers=custom%3Avrbovce_elektrina&tiled=true&STYLES=&WIDTH=512&HEIGHT=512&CRS=EPSG%3A3857&FORMAT_OPTIONS=dpi%3A180&BBOX=1947003.9844800085%2C6242153.477880634%2C1949449.969385134%2C6244599.46278576'

response = requests.get(url)
img = Image.open(BytesIO(response.content)) # error occurs here
img.save('output.png')

我收到以下错误:

OSError: cannot identify image file <_io.BytesIO object at 0x04956510>

方法2

使用Python的Selenium库和chromedriver。在这里,我尝试使用 Selenium 库在网络浏览器中显示图像并打印整个页面。

from selenium import webdriver
from PIL import Image
from io import BytesIO

url = 'https://mobec.sk/proxy/geo?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image%2Fpng&TRANSPARENT=true&layers=custom%3Avrbovce_elektrina&tiled=true&STYLES=&WIDTH=512&HEIGHT=512&CRS=EPSG%3A3857&FORMAT_OPTIONS=dpi%3A180&BBOX=1947003.9844800085%2C6242153.477880634%2C1949449.969385134%2C6244599.46278576'

chrome = webdriver.Chrome('path/to/chromedriver')
chrome.get(url)

png = chrome.get_screenshot_as_png()
im = Image.open(BytesIO(png))
im.save('output.png')

chrome.quit()

这种方法的问题在于,在chromedriver驱动打开的Chrome浏览器中,图像没有加载(显示)。当手动将链接粘贴到普通(桌面应用程序)Chrome 时,会显示图像。

Method 2 - image does not load into chrome

最佳答案

我在两个链接上测试了这两种方法,看起来第二个链接有问题:第一个链接工作得很好,无论是用浏览器手动打开它还是使用任何这些方法;第二个方法无法在浏览器中打开,并且在两种方法中都给出错误(这两种方法在代码方面都很好)。

如错误消息中所述 - 无法找到自定义图层:vrbovce_elektrina - 在两种方法和手动粘贴中,浏览器都找不到名为 vrbovce_elektrina 的图层。也许那里有一个拼写错误,或者此页面上没有这样的图像/图层。

代码很好,只是链接不起作用。

关于python - 无法使用 Python 从 url 链接下载图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52850643/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com