首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python基础-爬虫demo

python基础-爬虫demo

作者头像
怪盗LYL
发布2024-11-08 18:09:51
发布2024-11-08 18:09:51
13400
代码可运行
举报
文章被收录于专栏:测试开发真货测试开发真货
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
运行
复制
import os
import requests

# 网址
url = "http://www.v3wall.com/wallpaper/1600_1200/0910/1600_1200_20091031110653466285.jpg"
# 保存目录
dir_path = "D://xin1"
# 文件名
file_name = os.path.join(dir_path, url.split('/')[-1])

try:
    # 检查目录是否存在,不存在则创建
    if not os.path.exists(dir_path):
        os.makedirs(dir_path)

    # 检查文件是否存在
    if not os.path.exists(file_name):
        response = requests.get(url)
        # 写入文件
        with open(file_name, 'wb') as f:
            f.write(response.content)
        print("文件保存成功")
    else:
        print("文件已存在")
except requests.RequestException as e:
    print(f"网络请求错误: {e}")
except IOError as e:
    print(f"文件操作错误: {e}")
except Exception as e:
    print(f"未知错误: {e}")

下面是代码的思路解释: 1. **导入必要的模块**: - `os`模块用于处理文件和目录路径。 - `requests`模块用于发送HTTP请求。 2. **定义变量**: - `url`变量存储了图片的网络地址。 - `dir_path`变量指定了图片保存的本地目录路径。 - `file_name`变量是通过结合目录路径和图片文件名得到的完整文件路径。 3. **异常处理**: - 使用`try`语句块来捕获可能发生的异常,确保程序在遇到错误时不会直接崩溃。 4. **检查并创建目录**: - 使用`os.path.exists(dir_path)`检查指定的目录是否存在。 - 如果不存在,使用`os.makedirs(dir_path)`创建该目录。 5. **检查文件是否存在**: - 使用`os.path.exists(file_name)`检查文件是否已经存在于本地。 - 如果不存在,则继续下载图片。 6. **下载并保存图片**: - 使用`requests.get(url)`发送GET请求获取图片数据。 - 如果请求成功,使用`with open(file_name, 'wb') as f:`以二进制写模式打开文件,并将图片内容写入到该文件中。 7. **异常处理的具体分支**: - `requests.RequestException`用于捕获与网络请求相关的异常。 - `IOError`用于捕获与文件操作相关的异常。 - `Exception`用于捕获其他所有未预见的异常。 8. **输出结果**: - 根据不同的执行情况,打印出相应的成功或错误信息。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发真货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档