如何在源代码格式奇怪(blob)的情况下下载 HTML 图像。

huangapple go评论96阅读模式
英文:

how to download an html img when the src is in a strange format (blob)

问题

当我检查元素时,图像的src显示如下(非常长,我不得不大大缩短它才能适应问题):

data:image/png;base64,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

<details>
<summary>英文:</summary>

When I inspect element, this is the src shown for the img (extremely long - I had to shorten it a lot for it to fit in the question) 

data:image/png;base64,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

I ONLY see the above value via inspect element, when I actually use `.get_attribute(&#39;src&#39;)` on the element, and print, it outputs this:

blob:https://express.adobe.com/31150ca9-e670-4165-a619-8cd95f2a5a6d


I am using Python Selenium to automate background removal via an online Adobe tool. I got all the way to downloading the image after the background is removed, but the img src is very strange and I am not sure how to download it. 

This is the page: &lt;https://express.adobe.com/tools/remove-background&gt;

After uploading an image, the page removes the bg and shows a preview (on the same page). This is the image I am trying to download.

I tried using urllib requests to download it, but I get the error:

urllib.error.URLError: <urlopen error unknown url type: blob>


</details>


# 答案1
**得分**: 1

要下载图像,您可以将base64数据转换回二进制并将其保存为文件,例如:

```python
import base64
import io
from PIL import Image

data = "iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAAXNSR..."  # 在这里使用您的base64字符串

if "data:image/png;base64," in data:
    data = data.replace("data:image/png;base64,", "")

data_bytes = base64.b64decode(data)

image = Image.open(io.BytesIO(data_bytes))

image.save("output.png")
英文:

To download the image you can convert the base64 data back into binary and save it as a file, like for example:

import base64
import io
from PIL import Image

data = &quot;iVBORw0KGgoAAAANSUhEUgAAAyAAAAMgCAYAAADbcAZoAAAAAXNSR...&quot; # use your base64 string here

if &quot;data:image/png;base64,&quot; in data:
    data = data.replace(&quot;data:image/png;base64,&quot;, &quot;&quot;)

data_bytes = base64.b64decode(data)

image = Image.open(io.BytesIO(data_bytes))

image.save(&quot;output.png&quot;)

huangapple
  • 本文由 发表于 2023年5月30日 09:04:30
  • 转载请务必保留本文链接:https://go.coder-hub.com/76361032.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定