【发布时间】:2018-05-05 13:47:37
【问题描述】:
使用 web.whatsapp.de 时,可以看到接收到的图像的链接可能如下所示:
blob:https://web.whatsapp.com/3565e574-b363-4aca-85cd-2d84aa715c39
如果链接被复制到地址窗口,它将打开图像,但是 - 如果“blob”被忽略 - 它只会打开一个新的 web whatsapp 窗口。
我正在尝试下载此链接显示的图像。
但是使用常见的技术,例如使用 request,或者 urllib.request 甚至 BeautifulSoup 总是会遇到一个问题:url 开头的“blob”会抛出错误。
这些答案Download file from Blob URL with Python 将导致错误
URLError: <urlopen error unknown url type: blob>
或错误
InvalidSchema: No connection adapters were found for 'blob:https://web.whatsapp.com/f50eac63-6a7f-48a4-a2b8-8558a9ffe015'
(使用 BeatufilSoup)
使用原生方法,例如:
import requests
url = 'https://web.whatsapp.com/f50eac63-6a7f-48a4-a2b8-8558a9ffe015'
fileName = 'test.png'
req = requests.get(url)
file = open(fileName, 'wb')
for chunk in req.iter_content(100000):
file.write(chunk)
file.close()
只会导致与使用 BeautifulSoup 相同的错误。
我在 Python 中使用 Selenium 控制 Chrome,但是我无法使用提供的链接正确下载图像。
【问题讨论】:
-
能否请您附上您要抓取的 img 的相关 HTML 源代码?
-
web.whatsapp.com ,图像中的 url 链接因用户而异,因此我无法提供示例链接
-
在该页面上预览共享图像时,下载按钮会出现在角落。您可以尝试在 Selenium 中单击鼠标触发该按钮,这应该会提示浏览器下载 blob 资源。根据我在下面分享的链接,可能需要一些允许自动下载的配置。
标签: javascript python selenium url whatsapp