如何从网页上抓取简单图片

时间:2020-10-13 08:55:08

标签: python-3.x

我对python非常陌生。 当我运行以下代码时:

from PIL import Image

import requests

import bs4


url = 'https://parts.bmwmonterey.com/a/BMW_2004_330i-Sedan/_52014_5798240/Cooling-System-Water-Hoses/17_0215.html'

response = requests.get(url)

soup = bs4.BeautifulSoup(response.text, 'html.parser')

image = soup.find('img')
image_url = image['src']


img = Image.open(requests.get(image_url, stream = True).raw)

img.save('image.jpg')

我收到此错误:

无效的URL'/images/parts/BMW/fullsize/158518.jpg':未提供架构。也许您是说http:///images/parts/BMW/fullsize/158518.jpg?

1 个答案:

答案 0 :(得分:0)

在您的代码中,image_url给出了图像在托管服务上存储的目录。您需要将域名附加到image_url变量,然后使用请求库进行下载。

使用以下代码,它将起作用。

full_message = service.users().messages().get(userId='me', id=message_id).execute()
msg_headers = full_message['payload']['headers']
for header in msg_headers:
    if header["name"] == "To":
        return header["value"]