python 爬取指定图片并将图片下载到指定文件夹

本文介绍了一种使用Python实现的网页图片爬虫技术,通过解析HTML源码,抓取目标网站上的图片链接,并将其下载保存至本地指定文件夹。文章详细展示了如何利用requests和re模块进行网页请求和正则表达式匹配,实现自动化图片下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

"""
Version 1.1.0
Author lkk
Email lkk199404@163.com
date 2018-10-19 11:34
DESC 下载指定网页的图片到指定文件夹
"""
import requests
import os
from urllib import request
import re
res = request.urlopen("http://www.27270.com/beautiful/")
html = res.read()
with open("picture.html", 'wb') as f:
    f.write(html)
with open("picture.html", "rb") as f:
    msg = r'alt="(.*?)".*?src="(.*?)"'
    result = re.findall(msg, f.read().decode('gbk'))
    for i in result:
        url = ""
        root = "E:\my_test\day10_18\image/"
        path = root + i[0]+'.jpg'
        try:
            if not os.path.exists(root):
                os.mkdir(root)
                if os.path.exists(path):
                    r = requests.get(i[1])
                    # 如果发送了一个错误请求(一个 4XX 客户端错误,或者
                    # 5XX 服务器错误响应),我们可以通过Response.raise_for_status() 来抛出异常:
                    r.raise_for_status()
                    # 使用with语句可以不用自己手动关闭已经打开的文件流
                    with open(path, "wb") as e:  # 开始写文件,wb代表写二进制文件
                        e.write(r.content)
                    print("爬取完成")
            else:
                os.path.exists(path)
                r = requests.get(i[1])
                r.raise_for_status()
                # 使用with语句可以不用自己手动关闭已经打开的文件流
                with open(path, "wb") as e:  # 开始写文件,wb代表写二进制文件
                    e.write(r.content)
                print("爬取完成")
        except Exception as e:
            print("爬取失败:"+str(e))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值