python整活时间到——27行代码一键获取写真集~~~

news2024/9/20 9:12:15

嗨害大家好鸭!我是爱摸鱼的芝士❤

来吧,直接整活~

请添加图片描述

先准备一下

首先咱们需要安装一下这两个第三方模块

requests >>> 
parsel   >>> 

不会安装的小伙伴,键盘按住win+r 在弹出来的运行框 输入cmd 按确定,然后弹出黑色的框框,即命令提示符窗口,输入上面的注释 ,然后按回车即可安装成功。

请添加图片描述

我们继续

实现步骤

第一步:找数据对应的链接地址
第二步:python代码发送指定地址的请求
第三步:数据解析(筛选 过滤咱们需要的数据)

解析了每一个相册地址之后

  • a 创建每一个相册的文件夹
  • b 请求每一个相册详情页

(1) 发送请求
(2) 解析数据 提取图片链接
(3) 依次请求图片

第四步:保存数据

代码部分

import requests
import parsel   
import os
for page in range(1, 12):
    response = requests.get(f'https://www.jdlingyu.com/tag/%e8%85%bf%e6%8e%a7/page/{page}')
  
    selector = parsel.Selector(response.text)
    
    lis = selector.xpath("//ul[@class='b2_gap ']/li")
    for li in lis:
        title = li.xpath('.//h2/a/text()').get()
        print(f'-------------正在爬取{title}-------------')
        if not os.path.exists('./img/'+title):
            os.mkdir('./img/'+title)
        href = li.xpath('.//h2/a/@href').get()
        data_html = requests.get(href).text
        selector_2 = parsel.Selector(data_html)
        img_p = selector_2.xpath('//div[@class="entry-content"]/p')
        for img in img_p:

            img_list = img_p.xpath('.//img/@src').getall()
            for img_1 in img_list:

                try:
                    img_data = requests.get(img_1).content
                except:
                    continue
                img_name = img_1.split('/')[-1]
                with open(f'img\\{title}\\{img_name}', mode='wb') as f:
                    f.write(img_data)
                    print('下载完成:', img_name)

效果展示

在这里插入图片描述

在这里插入图片描述

这个分类总共是12页,我就不全部展示了,大家可以自己去试试~

请添加图片描述

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

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

相关文章

【python中的协程了解一下?】

什么是协程 协程(Coroutine)是一种比线程更加轻量级的并发方式,它不需要线程上下文切换的开销,可以在单线程中实现并发。协程通常具有以下特点: 协程中的代码可以暂停执行,并且在需要的时候可以恢复执行。…

我的Qt作品(18)模仿Qt Creator IDE写了一个轻量级的视觉框架

Qt Creator的源码比较庞大。前几年我陆陆续续读过里面的源码。也写了几篇博文: https://blog.csdn.net/libaineu2004/article/details/104728857 https://blog.csdn.net/libaineu2004/article/details/89407333 最近一直想找机会,借用这个IDE的皮&…

谷歌Chrome浏览器在新标签页打开书签链接的五个方法

方法一:快捷键Ctrl/Command键 Ctrl/Command 左键单击书签 方法二:右键菜单建立新的标签页 在书签上单击右键选择【在新标签页中打开】 方法三:鼠标中键/拖拽到新标签页 拖拽方法:点击对应书签的文字或者图标——拖拽到浏览器…

Unity出模型动画的序列帧(特效序列帧)

模型动画的序列帧 我这里是通过Recorder和Timeline的结合操作,输出带有透明通道是序列帧图片 流程图 #mermaid-svg-ig9s3Ys4ZkUqP2IW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ig9s3Ys4ZkUqP2IW …

机器学习 day03(成本函数,简化后的和一般情况下的成本函数)

1. 成本函数 平方误差成本函数是最通常用于线性回归的成本函数最终,我们要找到一组w和b,让j函数的值最小误差:ŷ - y 2. 简化后的平方误差成本函数,即b 0 当w 1时,f(x) x,J(1) 0 左侧为f(x)函数&am…

QT笔记——信号转发器之QSignalMapper

QSignalMapper类可以看成是信号的翻译和转发器。 它可以把一个无参的信号翻译成带以下4种参数的信号再转发:int、QString、 QObject以及QWidget 。 应用场景一般是:有一些信号,发送的参数都是一样的情况下,常用的方法是给每一个信…

mapreduce基础: 手写wordcount案例

文章目录 一、源代码二、运行截图 一、源代码 WordCountMapper类 package org.example.wordcount;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapreduce.Mapper;impo…

[架构之路-169]-《软考-系统分析师》-4-据通信与计算机网络-0-Ad hoc网络(分组无线网络)

目录 什么是Ad hoc网络 adhoc无线网络的历史 ad hoc特点 独立性 结构 通信带宽 主机能源 分布式特性 生存周期 物理安全 adhoc无线网络的结构 adhoc无线网络的应用 什么是Ad hoc网络 Ad hoc是一种多跳的、无中心的、自组织无线网络,又称为多跳网(M…

天龙八部手游服务端架设搭建教程

天龙八部手游服务端架设搭建教程 大家好,我是艾西。最近更新游戏搭建教程比较少也被不少小伙伴催更,今天我和大家聊聊天龙八部手游服务端架设搭建。 游戏讲述元佑元年,大宋遭受辽国入侵的故事,玩家可扮演峨眉、丐帮、天山、逍遥、…

SQL Server基础 第一章 (新建,分离,附加)

目录 前言 一,新建数据库 二,分离数据库 1,右键数据库,任务,分离 2,右键数据库,任务,分离 三,附加数据库 前言 本文主要详细介绍SQL server2019的简单使用&#xf…

ESP8266 +I2C SH1106 OLED仿数码管时钟

ESP8266 +I2C SH1106 OLED仿数码管时钟 📌相关篇《ESP8266 +I2C SSD1306 OLED仿数码管时钟》🎞🎬显示效果: 🔖本工程基于Arduino IDE框架下开发。🌿采用esp8266:Nodemcu📑配置参数信息: ✨在上面一篇的基础上做了改版,去除掉了原来在SSD1306那版中获取时间的NTP…

微信小程序制作

小程序是一种在移动设备上使用的轻量级应用程序,不需要下载安装,具有体积小、加载快和用户粘性高的优点。对于创业者和企业来说,开发一个小程序可以帮助他们拓宽商业渠道、增强品牌影响力和提升用户体验。那么,要开发一个小程序&a…

【Spring6】| 简述Spring中的八大模式

一:Spring中的八大模式 Spring中的八大模式,有很多我们前面已经讲过了,这里只需要大概有个印象,后期会出一个专门对23种设计模式的详解! 1. 简单工厂模式 BeanFactory的getBean()方法,通过唯一标识来获取…

51单片机(8051系列)最小系统图--内部时钟

最小系统电路图(无源晶振) 电容的作用 C1,C2:协助晶振起振(一般称为负载电容) 解释: 负载电容的计算公式CL C1*C2 / (C1C2) CS 其中CS为电路板的寄生电容一般取3~5pF 一般情况下&…

对表中数据进行删改,基础查询

目录 一.DML:对表中的数据进行增删改 二.DQL 一.DML:对表中的数据进行增删改 1.添加:insert 2.修改:update 3.删除:delete 二.DQL 1.基础查询: 2. 排序查询 3.聚合函数 概念:将一列数据作为一个整体&am…

带你彻底理解栈和队列

文章目录 前言一、栈是什么?二、栈的使用1.方法2.代码实现 三.栈的模拟四.队列1.方法2.代码实现3.循环队列4.双端队列 总结: 前言 今天,带你彻底理解栈和队列。 一、栈是什么? 栈英文叫做stack,是一种特殊的线性表。…

ARM busybox 的移植实战1

前言 先逐步构建 “文件夹形式”的根文件系统,然后制作烧录镜像。 (1) rootfs 有 2 种格式:nfs 方式启动的 “文件夹形式” 的 rootfs,和用来烧录的镜像形式的 rootfs。 (2) 我们先从空文件夹开始,逐步向其中添加一些 rootfs 中…

消息队列总结

消息队列 KafkaRocketMQRabbitMQActiveMQZeroMQMQ对比选型结论 消息队列的优点: 实现系统解耦实现异步调用流量削峰 消息队列的缺点: 系统可用性降低提升系统的复杂度数据一致性问题 Kafka Apache Kafka 是一个分布式消息发布订阅系统。它最初是由Li…

通过ObjectMapper和JsonNode 把JSON字符串转换成树结构数据和获取树节点数据

一.简介 今天同事有个需求&#xff0c;要把一个JSON字符串转换成一个树结构的数据并获取节点数据&#xff0c;鉴于自己不想写递归去转换&#xff0c;于是使用ObjectMapper和JsonNode类去实现。 二.依赖 pom文件引入依赖&#xff1a; <dependency><groupId>com.…

leetcode每日一题——美团笔试题【1】

今天分享两道算法题&#xff0c;自己刚开始练习&#xff0c;可能在解法上不是最佳的&#xff0c;但是只提供一些自己的思路&#xff0c;欢迎大家多多指教~ 第一题 实现一个算法&#xff0c;确定一个字符串 s 的所有字符是否全都不同。 示例 1&#xff1a;输入: s "lee…