python最简单的爬取图片并保存本地指定路径!

刚学python不久,所以先记录一个爬取图片的方式,并保存本地指定路径下。当然不一定会是最简单的方式,就是习惯这么起标题。但,肯定是我使用起来感觉最简单的。
需要单独安装的第三方模块有三个:

pip install requests
pip intsall BeautifulSoup4
pip install pillow

其它模块都是内建模块,可以直接使用。

具体代码如下:

import requests
from bs4 import BeautifulSoup
from PIL import Image
import os 
from io import BytesIO
import time

url = "http://www.yestone.com/gallery/1501754333627"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36"}

r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.content, 'html.parser')
items = soup.find_all('img', class_='img-responsive')

folder_path = './photo'

if os.path.exists(folder_path) == False:
   os.makedirs(folder_path)

for index, item in enumerate(items):
    if item:
        html = requests.get(item.get('data-src'))
        img_name = folder_path + str(index + 1) + '.png'
        image = Image.open(BytesIO(html.content))
        image.save('E:\Python\photo'+img_name)
        print('第%d张图片下载完成' % (index + 1))
        time.sleep(1)  # 自定义延时
print('抓取完成')

然后通过命令行工具执行这个文档

python getimg.py

哈哈,,,恭喜获得想要的图片。

Python中,可以使用多种方式来爬取网页上的图片并将其保存到本地。通常,这个过程会涉及以下几个步骤: 1. 使用requests库获取网页内容。 2. 解析网页内容,找到图片的URL。 3. 再次使用requests库下载图片。 4. 将下载的图片保存到本地文件系统。 以下是一个简单的示例代码,演示了如何实现这个过程: ```python import requests from bs4 import BeautifulSoup # 定义保存图片的函数 def save_image(image_url, local_path): response = requests.get(image_url) if response.status_code == 200: with open(local_path, 'wb') as f: f.write(response.content) print(f"图片保存到:{local_path}") else: print("图片下载失败") # 目标网页URL url = 'http://example.com/' # 发送HTTP请求获取网页内容 response = requests.get(url) # 使用BeautifulSoup解析HTML soup = BeautifulSoup(response.text, 'html.parser') # 查找所有图片标签 images = soup.find_all('img') # 定义图片保存的本地路径前缀 local_folder = 'downloaded_images/' # 遍历所有图片标签 for img in images: # 获取图片的URL img_url = img.get('src') # 如果图片URL是完整的URL,则直接使用;否则,拼接完整路径 if not img_url.startswith('http'): img_url = url + img_url # 定义图片的本地保存路径 img_name = local_folder + img_url.split('/')[-1] # 调用保存图片的函数 save_image(img_url, img_name) ``` 这段代码首先定义了一个`save_image`函数,用于下载图片保存到本地。然后通过requests库获取网页内容,并用BeautifulSoup解析HTML内容,找到所有图片标签并提取图片的URL。最后,将每个图片下载并保存到本地路径。 注意,这只是一个基础示例,实际应用中可能需要处理更多的异常情况,比如网络请求失败、图片URL不完整或无法访问等。此外,还需要确保遵守网站的robots.txt规则和版权法律,不要非法爬取和使用网络资源。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值