python带你采集回车桌面高清写真壁纸

news2024/9/21 12:48:02

前言

大家早好、午好、晚好吖 ❤ ~

壁纸嘛~大家都在用,每个人喜欢的壁纸类型也不同

那今天来教大家怎么批量保存一批高质量壁纸~


开发环境:

  • Python 3.8

  • Pycharm


模块使用:

  • requests >>> pip install requests 数据请求

  • parsel >>> pip install parsel 解析模块 (提取数据)

如果安装python第三方模块:

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

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


如何配置pycharm里面的python解释器?

  1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解释器)

  2. 点击齿轮, 选择add

  3. 添加python安装路径


pycharm如何安装插件?

  1. 选择file(文件) >>> setting(设置) >>> Plugins(插件)

  2. 点击 Marketplace 输入想要安装的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese

  3. 选择相应的插件点击 install(安装) 即可

  4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效


爬虫基本流程:

一. 数据来源分析

  1. 爬取网站是什么 想要获取网站什么样数据内容

    比如爬取图片 从一张图片去分析

    通过开发者工具进行抓包分析, 对比我们想要图片url地址一些参数

二. 爬虫代码实现步骤:

  1. 发送请求, 对于分析得到url地址发送请求

    请求网址

    请求方式

    请求头参数 >>> 伪装 可以把python代码伪装成浏览器(客户端)发送请求

    如果不进行伪装会有什么后果 >>> 不会给你返回你想要数据

  2. 获取数据, 获取response服务器返回响应数据

  3. 解析数据, 提取我们想要数据内容 图片url地址 以及 图片标题

  4. 保存数据, 把图片数据保存到本地


基础语法:

  • for循环

  • 自定义变量 赋值

  • 字符串格式化方法

  • 字典创建

  • 函数关键字传参

  • zip内置函数

  • 输出函数

详情 / 相对应的安装包/安装教程/激活码/使用教程/学习资料/工具插件 可以点击免费领取


文件操作

  1. requests简单使用 get请求 获取数据

  2. parsel 简单使用 css语法


代码展示

代码里网址被我删了好过审核, ( 源码、教程、文档、软件点击此处跳转跳转文末名片+找管理员领取呀~ )

# 导入数据请求模块  导入模块没有使用, 灰色待机状态
import requests   # pip install requests
# 导入数据解析模块
import parsel   # pip install parsel

“”"

1. 发送请求

headers: 请求头参数, 可以开发者工具里面直接进行复制, 其次headers字典数据类型, 键值对

user-agent: 用户代理 表示浏览器基本身份标识

cookie: 用户信息, 检测用户是否有登陆账号

“”"

for page in range(2, 11):
    url = f'https://*****.com/woman/{page}.html'
    headers = {
        'cookie': 't=f2cf055ce8713058cbfdbd1561c38e86; r=1281; Hm_lvt_86200d30c9967d7eda64933a74748bac=1645625923,1646892448; Hm_lpvt_86200d30c9967d7eda64933a74748bac=1646894465',
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.51 Safari/537.36'
    }
    response = requests.get(url=url, headers=headers)   #  <Response [200]> 返回响应对象 200状态码标识请求成功

“”"

2. 获取数据

获取服务器返回数据内容, 获取响应对象文本数据 字符串数据

返回数据内容, 和我们在开发者工具里面看到不一样 说明你被服务器识别出来是你爬虫程序, 所以他没有给你返回数据

“”"

    # print(response.text)

“”"

3. 解析数据

css选择器 xpath re 三种解析方式都可以去用 选择最适合

css选择器: 根据标签属性提取数据内容

对于获取response.text 进行数据类型转换 转成 selector 对象

attr() 属性选择器 .egeli_pic_li .egeli_pic_dl dd a img 都是定位标签, 告诉它是哪一个标签

img::attr(src) 取img标签里面的src属性数据

getall() 获取所有标签内容数据 返回列表数据类型

“”"

    selector = parsel.Selector(response.text)
    src = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(src)').getall()
    alt = selector.css('.egeli_pic_li .egeli_pic_dl dd a img::attr(alt)').getall()
    for img_url, title in zip(src, alt):
        img_url = img_url.replace('edpic_360_360', 'edpic_source')

4. 保存数据

        img_content = requests.get(url=img_url, headers=headers).content  # 获取二进制数据内容
        with open('img\\' + title + '.jpg', mode='wb') as f:
            f.write(img_content)
        print(img_url, title)


尾语 💝

好了,今天的分享就差不多到这里了!

完整代码、更多资源、疑惑解答直接点击下方名片自取即可。

有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง

喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!

最后,宣传一下呀~👇👇👇更多源码、资料、素材、解答、交流皆点击下方名片获取呀👇👇👇

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

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

相关文章

soapui + groovy 接口自动化测试

1.操作excel的groovy脚本 package pubimport jxl.* import jxl.write.Label import jxl.write.WritableWorkbookclass ExcelOperation {def xlsFiledef workbookdef writableWorkbookdef ExcelOperation(){}//设置xlsFile文件路径def ExcelOperation(xlsFile){this.xlsFile x…

景联文科技:您的模型性能问题需要标注数据来解决

为什么需要重新考虑模型开发当人们想到人工智能时&#xff0c;他们的脑海中常常充满对未来世界幻想的画面&#xff0c;在这个世界中&#xff0c;算法为机器人提供动力&#xff0c;这些机器人负责处理他们的日常职责。他们的虚拟助手为他们提供建议并管理他们的日程安排&#xf…

数组的复制与二维数组的用法

今天学习的主要内容有 数组的复制 数组的复制 利用循环进行数组的复制 import java.util.Arrays; public class Main3 {public static void main(String[] args) {int []arr new int[]{1,2,3,4,5,6};int []arr1 new int[arr.length];for (int i 0; i < arr.length; i…

SpringBoot 整合 Redis 缓存

文章目录前言1、缓存 概念知识1.1、什么是缓存1.2、缓存的优缺点1.3、为什么使用缓存2、Redis 概念知识2.1、Redis 简介2.2、为什么用 Redis 作为缓存2.3、Redis 支持的数据类型2.3、Redis是如何判断数据是否过期2.4、过期的数据的删除策略2.5、Redis 事务2.6、Redis 持久化机制…

Windows软件界面字体和图标太小的解决办法

有时候我们装好软件之后&#xff0c;打开软件会发现部分字体变得非常小&#xff0c;难以看清屏幕中的文字&#xff0c;如图所示&#xff1a; 下面小编在这里以Windows 11系统&#xff08;其余版本Windows系统的设置步骤没有改变&#xff0c;只是部分选项的位置有所改变&#xf…

开发不停机的服务程序

使用守护进程、心跳机制、调度程序实现服务程序永不死机。 调度程序:启动服务程序&#xff0c;服务程序死掉后调度程序休眠n秒再次调度。 进程心跳:使用共享内存维护自己的心跳信息&#xff0c;当前时间减去最新时间如果大于超时时间就认为故障了&#xff0c;守护进程就会遍历…

共享模型之不可变

1.日期转换的问题 1>.代码示例 Slf4j public class TestDateFormatDemo1 {public static void main(String[] args) {SimpleDateFormat sdf new SimpleDateFormat("yyyy-MM-dd");for (int i 0; i < 10; i) {//多个线程调用日期格式化对象的方法new Thread(…

kafka监控工具安装和使用

1. KafkaOffsetMonitor 该监控是基于一个jar包的形式运行&#xff0c;部署较为方便。只有监控功能&#xff0c;使用起来也较为安全(1)消费者组列表 (2)查看topic的历史消费信息. (3)每个topic的所有parition列表(topic,pid,offset,logSize,lag,owner) (4)对consumer消费情况进…

使用Eureka搭建单击模拟到集群模拟

首先讲讲什么是Eureka:1.Eureka是Netflix的子模块&#xff0c;同样也是核心模块之一&#xff0c;Eureka是基于REST的服务&#xff0c;用于定位服务&#xff0c;以实现云端中间件层服务发现和故障转移&#xff0c;服务注册与发现对于微服务来说是非常重要的&#xff0c;有了服务…

vue项目第三天

论坛项目动态路由菜单以及渲染用户登录全局前置拦截器获取用户的菜单以及接口执行过程解析菜单数据&#xff0c;渲染伟动态路由。菜单数据将数据源解析为类似路由配置对象的格式&#xff08;./xxx/xxx 这种格式&#xff09;。下方是路由实例的代码,后面封装了很多方法这里也需要…

RFID服装吊牌材质分类

1、吊牌常见材质 铜版纸&#xff1a;最常用&#xff0c;分单铜纸、双铜纸 白卡纸&#xff1a;厚度较厚 黑卡纸&#xff1a;黑卡纸常用于烫金、烫银工艺 牛皮纸&#xff1a;韧度较高、色彩单一 塑料材料&#xff1a;一般一些比较高档的品牌会选塑料材质&#xff0c;成本比铜…

电商CRM的作用和用途

数据显示&#xff0c;使用电商CRM客户管理系统后&#xff0c;企业销售额提高了87%&#xff0c;客户满意度提高了74%&#xff0c;业务效率提高了73%。要在竞争激烈的电商市场取得成功&#xff0c;与目标受众的有效沟通是有效的方法。下面说说什么是电商CRM系统&#xff1f;电商C…

Docker镜像和容器操作,ლ(´ڡ`ლ)好吃的.

文章目录1.镜像操作1.镜像命令2.情景1&#xff1a;拉取镜像3.情景2&#xff1a;保存导入镜像2.容器操作1.容器命令2.情景1&#xff1a;创建并运行一个容器3.情景2&#xff1a;进入容器&#xff0c;修改文件3.结语halo&#xff0c;大家好&#xff0c;这次我带来的是Docker的一些…

SATA SSD需要NCQ开启吗?

一、故事开篇最近有同学在咨询&#xff0c;SATA SSD是否需要NCQ功能&#xff1f;借此机会&#xff0c;今天我们来聊聊这个比较古老的话题&#xff0c;关于SATA协议的NCQ的故事。首先我们先回顾下SATA与NCQ的历史&#xff1a;2003年&#xff0c;SATA协议1.0问世&#xff0c;传输…

微服务中API网关的作用是什么?

目录 什么是API网关&#xff1f; 为什么要用API网关&#xff1f; API网关架构 API网关是如何实现这些功能的&#xff1f; 协议转换 链式处理 异步请求 什么是API网关&#xff1f; Api网关是微服务的重要组成部分&#xff0c;封装了系统内部的复杂结构&#xff0c;客户端…

蓝牙Mesh学习笔记(一)

Mesh系统结构1 Mesh网络分层1.1 模型层(Model layer)1.2 基础模型层(Foundation Model layer)1.3 接入层(Access layer)1.4 上层传输层(Upper transport layer)1.5 下层传输层(Lower transport layer)1.6 网络层(Network layer)1.7 承载层(Bearer layer)1.8 BLE内核规范(BLE Co…

MySQL性能优化六 事物隔离级别与锁机制

概述 我们的数据库一般都会并发执行多个事务&#xff0c;多个事务可能会并发的对相同的一批数据进行增删改查操作&#xff0c;可能就会导致我们说的脏写、脏读、不可重复读、幻读这些问题。 这些问题的本质都是数据库的多事务并发问题&#xff0c;为了解决多事务并发问题&#…

CUDA内存管理一文理清|参加CUDA线上训练营

CUDA 内存概述 GPU的内存包括&#xff1a; 全局内存&#xff08;global memory&#xff09;常量内存&#xff08;constant memory&#xff09;纹理内存核表面内存&#xff08;texture memory&#xff09;寄存器&#xff08;register&#xff09;局部内存&#xff08;local me…

BI 到底是什么,看看这篇文章怎么说

随着数据价值得到了认可&#xff0c;数据开始成为个人、企业乃至国家的重要战略资产&#xff0c;但数据资产不能直接产生价值&#xff0c;而是需要通过数据分析、数据可视化等数据处理手段将数据转化为信息和知识&#xff0c;才能进行资产的价值化&#xff0c;这时候商业智能BI…

Python骚操作 - 实现把文字写在像素中

前言 嗨嗨&#xff0c;大家好 我是小圆 今天又发来个有意思的 用Python在照片中添加文字~&#xff08;实现把文字写在像素中&#xff09; 那咱就话不多说咯 直接开始展示 实现步骤 想要实现把文字写在像素中&#xff0c;那么我们就需要用到 pillow 这个神器。 众所周知&a…