美文网首页
硬盘有多少图片取决我的网速, Python获取硬盘少女图集

硬盘有多少图片取决我的网速, Python获取硬盘少女图集

作者: 颜狗一只 | 来源:发表于2023-05-30 16:01 被阅读0次

    前言

    嗨喽~大家好呀,这里是魔王呐 ❤ ~!

    图片数据在网络中随处可见, 如果需要一些图片素材,

    那肯定是要保存啦~但数量多时怎么一键保存呢?

    快来学好,批量保存美女图片一睹为快把! ! !

    开发环境:

    • 解释器: python 3.8

    • 编辑器: pycharm 2022.3 专业版

    内置模块使用

    • os >>> 操作文件系统的模块

    第三方模块使用

    • selenium >>> web 的自动化测试工具

    • requests >>> 用来发送网络请求

    • parsel >>> 用于解析JSON数据的Python

    第三方模块安装:

    1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车

    2. 在pycharm中点击Terminal(终端) 输入安装命令

    如果出现爆红, 可能是因为 网络连接超时, 可切换国内镜像源,命令如下:

    pip install -i https://pypi.doubanio.com/simple/ requests
    

    案例实现的步骤:

    1. 找数据对应的链接地址

    2. 使用代码发送网络请求

    3. 数据解析技术(提取需要的数据)

    4. 数据保存

    代码展示

    # 用到什么库我就导入什么
    import requests  # 数据请求模块, 第三方的模块  pip install requests
    import parsel  # 数据解析模块, 第三方的模块  pip install parsel
    from selenium_api import get_data
    import os   # 文件目录操作,  内置模块
    

    1.找数据对应的链接地址 不要把直播课当录播

    url = 'https://diskgirl.com/imageslist'
    

    使用代码发送网络请求, 请求的服务器可能会识别你(代码) 不给你数据

    请求头字段信息: 伪装, 表示浏览器身份信息

    headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36'}
    

    2.使用代码发送网络请求 <Response [200]> 是对象 基础不牢, 地动山摇

    response = requests.get(url=url, headers=headers)  # 函数传参 <关键字传参>
    html_data = response.text  # text从对象里面把字符串数据取出来  content 从对象里面把二进制数据取出来
    # print(html_data)
    

    3.数据解析技术(提取需要的数据) python基础 功能强大 bs4 lxml re etree

    celector = parsel.Selector(html_data)  # 转化数据类型
    
    # 相册的标题   相册的地址
    divs = celector.xpath('//div[@class="col-md-4"]')  # 所有的div
    
    for div in divs:  # 把每一个div循环拿出来, 单独操作
        # 相册的标题   相册的地址
        title = div.xpath('.//h2/text()').get()  # 相册的标题
        pic_url = div.xpath('.//div[@class="card nopadding images-relative"]/a/@href').get()  # 相册的部分地址
        # print(title, pic_url)
        print('正在下载: ', title)
    
        if not os.path.exists('img\\' + title):  # 如果没有改文件名在目录下
            os.mkdir('img\\' + title)
    
        # 构建全部的链接
        all_url = 'https://diskgirl.com' + pic_url
    
        # 动态js(JavaScript)<>加载的数据,  selenium 工具: 自动操作浏览器, 获取页面渲染的数据
        img_url_list = get_data(all_url)  # 图片列表
    
        for img_url in img_url_list:
            # 发送图片地址的请求   图片是二进制数据
            img_data = requests.get(url=img_url, headers=headers).content
    

    4.数据保存

            # 准备文件名
            filename = img_url.split('/')[-1]
    
            with open(f'img\\{title}\\{filename}', mode='wb') as f:
                f.write(img_data)
                print('下载完成: ', filename)
    

    尾语 💝

    要成功,先发疯,下定决心往前冲!

    学习是需要长期坚持的,一步一个脚印地走向未来!

    未来的你一定会感谢今天学习的你。

    —— 心灵鸡汤

    本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

    相关文章

      网友评论

          本文标题:硬盘有多少图片取决我的网速, Python获取硬盘少女图集

          本文链接:https://www.haomeiwen.com/subject/cbceedtx.html