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

news2024/11/19 0:37:13

目录

      • 前言
      • 开发环境:
      • 案例实现的步骤:
      • 代码展示
      • 尾语 💝

前言

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

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

一睹为快把! ! !

开发环境:

  • 解释器: 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

python资料、源码、教程\福利皆: 点击此处跳转文末名片获取

案例实现的步骤:

  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)

尾语 💝

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

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

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

—— 心灵鸡汤

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

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇</center

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/585397.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CH341的I2C接口编程说明

CH341的I2C接口特性&#xff1a; 1、支持I2C速度20K/100K/400K/750K&#xff1b; 2、默认不支持设备的ACK应答监测&#xff0c;即忽略ACK状态&#xff1b;强制支持需修改软件&#xff1b; 引脚序号功能说明24SCL23SDA Windows系统SPI通讯接口函数 HANDLE WINAPI CH341OpenD…

Piccolo傻瓜式环境配置

首先下载Piccolo的代码 Piccolo下载网址点击Code然后点击Download ZIP。可能有点慢&#xff0c;总共要下139M。 下载CMAKE CMAKE下载网址下载完后安装CMAKE 构建环境 将下来的Piccolo-main压缩包解压为Piccolo-main文件夹。打开CMAKE&#xff0c;如下图进行目录选择&…

Linux - 第19节 - 网络基础(传输层二)

1.TCP相关实验 1.1.理解listen的第二个参数 在编写TCP套接字的服务器代码时&#xff0c;在进行了套接字的创建和绑定之后&#xff0c;需要调用listen函数将创建的套接字设置为监听状态&#xff0c;此后服务器就可以调用accept函数获取建立好的连接了。其中listen函数的第一个参…

LeetCode - 1049 最后一块石头的重量 II (0-1背包)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/130935119 LeetCode:1049. 最后一块石头的重量 II 题目:有一堆石头,用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合,从中选…

人脸识别3:C/C++ InsightFace实现人脸识别Face Recognition(含源码)

人脸识别3&#xff1a;C/C InsightFace实现人脸识别Face Recognition(含源码) 目录 1. 前言 2. 项目安装 &#xff08;1&#xff09;项目结构 &#xff08;2&#xff09;配置开发环境(OpenCVOpenCLbase-utilsTNN) &#xff08;3&#xff09;部署TNN模型 &#xff08;4&a…

【C++】手把手教你模拟实现string类

模拟实现string 前言类的成员变量构造函数析构函数size和length[ ] 重载迭代器赋值运算符重载和拷贝构造函数拷贝构造函数赋值运算符重载现代式写法 reserve 和 resizereserveresize 字符串追加push_backappend insertpos位置插字符pos位置插字符串 erase>> 和 <<&…

Linux---用户权限(权限位、chowd、chown)

1. 权限位 序号1&#xff0c;表示文件、文件夹的权限控制信息 序号2&#xff0c;表示文件、文件夹所属用户 序号3&#xff0c;表示文件、文件夹所属用户组 权限细节总共分为10个槽位&#xff1a; 举例&#xff1a;drwxr-xr-x&#xff0c;表示&#xff1a; 这是一个文件夹&…

如何使用Metasploit进行后渗透攻击?

后渗透攻击&#xff08;PostExploitation&#xff09;是整个渗透测试过程中最能够体现渗透测试团队创造力与技术能力的环节。前面的环节可以说都是在按部就班地完成非常普遍的目标&#xff0c;而在这个环节中&#xff0c;需要渗透测试团队根据目标组织的业务经营模式、保护资产…

关于PyQt5的环境搭建

目录 一、需要的环境 二、安装python 1、python安装链接 三、安装PyQt5 1、使用豆瓣的镜像 2、配置环境变量 四、安装pycharm 1、pycharm官网链接 五、配置环境 1、找到设置 2、添加designer 3、配置ui 4、配置rc 六、注意问题 一、需要的环境 1、安装好python安装…

【Linux CAN应用编程(1)】初识CAN总线(附全文代码)

接下来我们学习 CAN 应用编程&#xff0c;CAN 是目前应用非常广泛的现场总线之一&#xff0c;主要应用于汽车电子和工业领域&#xff0c;尤其是汽车领域&#xff0c;汽车上大量的传感器与模块都是通过 CAN 总线连接起来的。CAN 总线目前是自动化领域发展的热点技术之一&#xf…

1、Vue简介与环境搭建

目录 一、Vue简介二、Vue开发环境1 - 环境安装2 - 新建Vue项目3 - VS Code4 - Vue项目的目录结构 一、Vue简介 官方文档&#xff1a;https://cn.vuejs.orgVue的api风格&#xff1a;选项式 API&#xff08;Vue 2&#xff09; 和组合式 API&#xff08;Vue 3&#xff09;**选项式…

怎么把pdf转成word?转换途径一览

在日常生活和工作中&#xff0c;我们常常需要处理各种文档格式。其中&#xff0c;PDF 作为一种流行的跨平台文件格式&#xff0c;广泛应用于技术文档、报告、合同和电子书等领域。但是&#xff0c;当我们需要修改 PDF 文件内容时&#xff0c;却往往会遇到困难。这时&#xff0c…

JavaScript引擎,V8引擎的原理

为什么需要JavaScript引擎&#xff1f; 高级的编程语言都是需要转成最终的机器指令来执行 我们所编写的js无论h是交给浏览器或者node执行&#xff0c;最后都是需要被CPU执行的 CPU只认识自己的指令集&#xff08;机器语言&#xff09;才能被CPU所执行 所以我们需要js引擎帮助我…

掌握了它,软件测试拿下25K轻轻松松!

了解软件测试这行的人都清楚&#xff0c;功能测试的天花板可能也就15k左右&#xff0c;而自动化的起点就在15k左右&#xff0c;当然两个岗位需要掌握的技能肯定是不一样的。 如果刚入门学习完软件测试&#xff0c;那么基本薪资会在7-8k左右&#xff0c;这个薪资不太高主要是因…

JQuery - JavaScript 的框架 - 语法简化版本

目录 js文件与 script 标签的位置问题总结&#xff1a; 有的时候是很坑&#xff0c;看了挺多资料&#xff0c;有时候乱糟糟的&#xff0c;都不说清楚&#xff0c;这是JavaScript的语法&#xff0c;还是 JQuery的语法&#xff0c;所以就会因为没有导入 JQuery的js文件&#xff0…

「功能测试进阶到自动化测试」一路走来都离不每个阶段的计划

关于「从功能测试&#xff0c;转岗到自动化测试」&#xff0c;主要的几个问题 &#xff1a; 001 目前一直在走功能测试&#xff0c;工作中也没有机会接触自动化测试 。想后续从事自动化测试&#xff0c;我应该从哪里开始学 &#xff1f; 解答&#xff1a;自动化 &#xff0c…

【六】设计模式~~~结构型模式~~~适配器模式(Java)

【学习难度&#xff1a;★★☆☆☆&#xff0c;使用频率&#xff1a;★★★★☆】 1.1. 模式动机 在软件开发中采用类似于电源适配器的设计和编码技巧被称为适配器模式。通常情况下&#xff0c;客户端可以通过目标类的接口访问它所提供的服务。有时&#xff0c;现有的类可以满…

全渠道电子商务指南

希望将全渠道电子商务纳入您的业务战略&#xff0c;但不确定从哪里开始。这篇博文将指导您了解全渠道商务的基础知识&#xff0c;以及它与多渠道方法的区别。 全渠道电子商务旨在为线上和线下多个平台的客户创造全面的购物体验。客户可以通过各种接触点&#xff08;例如网站、…

网络安全-02-BurpSuite工具安装

网络安全-02-BurpSuite工具安装 &#x1f53b;一、BurpSuite简介&下载&#x1f4d7; 二、Windows安装Jdk&#x1f4f0; 2.1 下载Jdk并安装&#x1f4f0; 2.2 设置Jdk环境变量&#x1f4dc; 2.2.1 设置JAVA_HOME&#x1f4dc; 2.2.2 设置path&#x1f4dc; 2.2.3 Jdk验证 &a…