requests 保存网页图片
时间: 2023-06-02 14:06:09 浏览: 47
可以使用 requests 库中的 get() 方法来获取网页图片的二进制内容,然后使用 Python 内置的 io 和 PIL 库把二进制内容转化为图片并保存到本地。具体操作可以参考以下代码:
```python
import requests
from io import BytesIO
from PIL import Image
# 获取网页图片的二进制内容
resp = requests.get('https://www.example.com/image.jpg')
content = resp.content
# 把二进制内容转化为图片并保存到本地
img = Image.open(BytesIO(content))
img.save('image.jpg')
```
相关问题
python爬取网页图片保存
可以使用Python中的requests和BeautifulSoup库来爬取网页图片并保存。
首先,使用requests库发送一个GET请求获取网页内容,然后使用BeautifulSoup库解析网页内容,找到所有需要下载的图片的URL。
接下来,使用requests库发送一个GET请求下载图片,并将其保存到本地。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://www.example.com' # 网页链接
response = requests.get(url) # 发送GET请求获取网页内容
soup = BeautifulSoup(response.text, 'html.parser') # 解析网页内容
# 找到所有需要下载的图片的URL
image_urls = []
for img in soup.find_all('img'):
image_urls.append(img.get('src'))
# 下载并保存图片
for url in image_urls:
response = requests.get(url)
with open(url.split('/')[-1], 'wb') as f:
f.write(response.content)
```
在上面的示例代码中,将下载的图片保存在当前工作目录下,并以图片的文件名作为文件名保存。
用python实现自动提取保存网页图片
要自动提取和保存网页图片,您可以使用Python的requests和BeautifulSoup库来实现。下面是一个示例代码:
```python
import requests
from bs4 import BeautifulSoup
import os
def extract_and_save_images(url, output_folder):
# 发送请求获取网页内容
response = requests.get(url)
content = response.content
# 使用BeautifulSoup解析网页内容
soup = BeautifulSoup(content, 'html.parser')
# 查找所有的图片标签
img_tags = soup.find_all('img')
for img_tag in img_tags:
# 获取图片链接
img_url = img_tag['src']
# 发送请求获取图片内容
img_response = requests.get(img_url)
img_content = img_response.content
# 提取图片文件名
img_filename = os.path.basename(img_url)
# 保存图片
img_path = os.path.join(output_folder, img_filename)
with open(img_path, 'wb') as f:
f.write(img_content)
print(f"保存图片: {img_path}")
# 示例用法
url = "https://example.com"
output_folder = "path/to/output/folder"
extract_and_save_images(url, output_folder)
```
您只需将`url`替换为您要提取图片的网页链接,将`output_folder`替换为您想要保存图片的文件夹路径,运行代码即可自动提取和保存网页图片。
请注意,此代码假设网页中的图片标签为`<img>`,并且图片链接在`src`属性中。如果网页中的图片标签不同,请根据实际情况进行调整。
希望对您有所帮助!如有任何疑问,请随时向我提问。