Python实现所有英雄皮肤图片采集,超高清

news2024/11/19 0:28:08

目录标题

      • 前言
      • 环境使用:
      • 模块使用:
      • 代码基本四个步骤:
      • 代码展示
      • 尾语

前言

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

环境使用:

  • Python 3.8

  • Pycharm

模块使用:

  • requests —> 数据请求模块 需要安装

  • re 正则表达式 内置模块 不需要安装

  • os 文件操作模块 内置模块 不需要安装 --> 自动创建文件夹 把每个英雄都自动创建对应文件

第三方模块安装:

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

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

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

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

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

、

代码基本四个步骤:

  1. 发送请求, 模拟浏览器对于url地址发送请求

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

  3. 解析数据, 提取我们想要的数据内容

  4. 保存数据, 把需要数据保存到本地

代码展示

import os.path

# 导入数据请求模块
import requests
# 导入正则表达式
import re

模拟浏览器

headers = {
    # User-Agent 用户代理 表示浏览器基本身份信息
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36'
}

英雄列表数据包 ctrl + /

html = 'https://*****/web201605/js/herolist.json'

发送请求 response.json() 获取响应的json数据

json_data = requests.get(html, headers=headers).json()
for index in json_data:
    # 键值对取值
    HeroName = index['cname'] # 英雄名字
    HeroID = index['ename'] # 英雄ID

请求url地址 yao 英雄详情页

    url = f'https://*****/web201605/herodetail/{HeroID}.shtml'
    # 发送请求
    response = requests.get(url, headers=headers)
    """
    # 转码
    response.encoding = 'gbk'
    # 提取名字
    name_list = re.findall('data-imgname="(.*?)">', response.text)[0].split('|')
    # 给数字
    num = 1
    # 一个一个提取名字
    for name in name_list:
        # 名字处理
        name = name.split('&')[0]
        # 图片链接:
        link = f'https://*****/images/yxzj/img201606/skin/hero-info/{HeroID}/{HeroID}-bigskin-{num}.jpg'
        filename = f'img\\{HeroName}\\'
        if not os.path.exists(filename):
            os.makedirs(filename)
        # 二进制数据获取
        img_content = requests.get(link, headers=headers).content
        with open(filename + name + '.jpg', 'wb') as f:
            f.write(img_content)
        # 每次循环都加1
        num += 1
        print(link, name)

尾语

感谢你观看我的文章呐~本次航班到这里就结束啦 🛬

希望本篇文章有对你带来帮助 🎉,有学习到一点知识~

躲起来的星星🍥也在努力发光,你也要努力加油(让我们一起努力叭)。

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

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

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

相关文章

记一次Weblogic控制台弱口令爆破事件应急响应

为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓ 01 事件背景介绍02 流量分析过程03 事件分析结果04 安全加固建议 01 事件背景介绍 某内部应急演练中,安全部门在安全设备上观察到大量Weblogic控制台登录请求,现需根据流量情况…

Rancher集群搭建

前言 随着容器的普及和Kubernetes 的日渐成熟,企业内部运行多个Kubernetes 集群已变得颇为常见,然而部署kubernetes集群的方式也多样化,二进制部署、rancher、kubeadm、minikube等。然而本篇文章主要讲解的是如何使用rancher快速部署一个k8s集…

Linux:LAMP搭建(全源码包安装)

LAMP 就是 Linux Apache Mysql PHP/Python 目录 Linux安装 Apache安装 Mysql安装 安装PHP 安装PHP扩展包 编译安装PHP PHP 添加优化模块 测试网页协同工作 Linux安装 虚拟机安装 (1条消息) VMware:安装centos7_鲍海超-GNUBHCkalitarro的博客-CSD…

从0到1精通自动化测试,pytest自动化测试框架,doctest测试框架(十四)

一、前言 doctest从字面意思上看,那就是文档测试。doctest是python里面自带的一个模块,它实际上是单元测试的一种。 官方解释:doctest 模块会搜索那些看起来像交互式会话的 Python 代码片段,然后尝试执行并验证结果 doctest测试…

iostat命令详解

语法&#xff1a; iostat [ 选项 ] [<时间间隔> <次数> ] 支持的参数及参数详解&#xff1a; -c&#xff1a;仅显示CPU统计信息&#xff0c;与-d选项互斥 -d&#xff1a;仅显示磁盘统计信息&#xff0c;与-c选项互斥 -h&#xff1a;使用NFS&#x…

Prophet算法框架预测输出及使用方法

Prophet 时间序列预测框架入门实践笔记 接续上文&#xff0c;预测结果&#xff1a; forecast m.predict(future) forecast[[ds, yhat, yhat_lower, yhat_upper]].tail(48)forecast 是Pandas的DataFrame&#xff0c;数据项及含义如下&#xff1a; ‘ds’&#xff1a; 是日期时…

内容变现有了VVIP会员门槛,微博这么做图个啥?

文 | 螳螂观察 作者 | 易不二 充分竞争的存量时代&#xff0c;用户是最宝贵的平台资产。 这不仅体现在今年618期间&#xff0c;各大电商平台的“抢人大战”&#xff0c;更具体的风向还在于&#xff0c;作为移动互联网时代最有影响力的社交媒体之一&#xff0c;微博调整了新的…

网络安全——数据链路层安全协议

作者简介&#xff1a;一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.数据链路层安全协议简介 1.数据链路安全性 二.局域网数据链路层协议 1…

2023年亚马逊云科技中国峰会记录

前言 有幸抽到了亚马逊云科技中国峰会的门票&#xff0c;恰好又是在上海举行的&#xff0c;并且看预告有很多热点内容&#xff0c;所以就参加了。 27日一早就赶到了世博中心&#xff0c;此时已经排起了长队。 看来与会者还是蛮多的。 整体分为以下几个环节&#xff1a; 一.上…

津津乐道设计模式 - 外观模式详解(简化女友使用你的支付账户购物的支付体验)

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

spark外置external shuffle service使用介绍

shuffle是什么 shuffle是Hadoop大数据计算中&#xff0c;一个必不可少的环节&#xff0c;通过shuffle可以将不同节点上的同类数据给移动到一起&#xff0c;这在分组&#xff0c;排序&#xff0c;聚合的场景中非常常见&#xff0c;简单图示如下&#xff1a; MapReduce数据处理模…

Vue.js中的状态管理:理解和使用Vuex

目录 前言 Vue.js 样式绑定 Vue.js class class 属性绑定 实例 1 实例 2 实例 3 实例 4 数组语法 实例 5 实例 6 Vue.js style(内联样式) 实例 7 实例 8 实例 9 Vue.js 组件 全局组件 全局组件实例 局部组件 局部组件实例 Prop Prop 实例 动态 Prop Pro…

echarts+echarts-gl vue2制作3D地图+下钻功能+标记点功能,解决dblclick事件失效问题,解决地图下钻后边框不更新保留问题

目录 先看实现效果&#xff1a;​编辑 步骤一 安装echarts和echarts-gl 步骤二 设置地图容器 在methods中设置初始化地图方法并在mounted中调用 在methods中设置初始化地图方法 在mounted中调用 打开页面效果&#xff1a;​编辑 步骤三 1、给地图添加双击事件dblcli…

Linux安装后门监测工具chkrootkit

官网&#xff1a;chkrootkit -- locally checks for signs of a rootkit locally checks for signs of a rootkit Chkrootkit is named Top 10 Tools to Scan Linux Servers for Vulnerability and Malware by Cyber Security News. Debian安装 sudo apt install chkrootkit#…

BigDecimal有哪些坑?

BigDecimal概述 BigDecimal是Java编程语言中的一个类&#xff0c;用于进行高精度的十进制数值计算。它提供了精确的数值表示和计算&#xff0c;可以处理比基本数据类型&#xff08;如double和float&#xff09;更大范围和更高精度的数字。 Java的基本数据类型&#xff08;如i…

在线考试教学系统平台系统源码/视频教学系统PHP源码/在线考试系统PHP源码

在线考试教学系统平台系统源码&#xff0c;视频教学系统PHP源码&#xff0c;在线考试系统PHP源码。 安装说明&#xff1a; 1、部署好网站环境&#xff1a;php5.6mysql 2、将源码传至网站根目录&#xff0c;php源码用二进制上传&#xff0c;或者上传压缩包在空间解压 3、将据库…

独热编码和Embedding

对于一个大小为N词典&#xff0c;给出一个N*N的矩阵。将这些词分别进行编码。再者&#xff0c;例如&#xff0c;香蕉与水果这两个词词意接近&#xff0c;我们引进余弦相似度来计算两者相似度。余弦值越接近1&#xff0c;就表明夹角越接近0度&#xff0c;也就是两个向量越相似。…

团体程序设计天梯赛-练习集L2篇⑧

&#x1f680;欢迎来到本文&#x1f680; &#x1f349;个人简介&#xff1a;Hello大家好呀&#xff0c;我是陈童学&#xff0c;一个与你一样正在慢慢前行的普通人。 &#x1f3c0;个人主页&#xff1a;陈童学哦CSDN &#x1f4a1;所属专栏&#xff1a;PTA &#x1f381;希望各…

css基础(三)

目录 一、CSS三大特性 1.层叠性 2.继承性 3.行高的继承 4.CSS三大特性之优先级 5.优先级注意的问题 6.CSS权重的叠加 二、盒子模型 1.盒子模型组成部分 2.盒子模型边框border 3.边框的复合写法 4.表格细线边框 5.边框会影响盒子实际大小 6.盒子模型内边距padding 7.盒子模型外边…

文心一言 VS 讯飞星火 VS chatgpt (49)-- 算法导论6.2 1题

一、参照图6-2的方法&#xff0c;说明 MAX-HEAPIFY(A&#xff0c;3)在数组 A(27&#xff0c;17&#xff0c;3&#xff0c;16&#xff0c;13&#xff0c;10&#xff0c;1&#xff0c;5&#xff0c;7&#xff0c;12&#xff0c;4&#xff0c;8&#xff0c;9&#xff0c;0)上的操作…