最新如何用python对英雄皮肤进行图片采集?,大厂Python面试总结+详细解答

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

2 皮肤第几个 —> 通过皮肤名字对应他的皮肤链接

在这里插入图片描述

想要获取 皮肤数据

向网址发送请求
获取response响应数据
提取皮肤名字
构建 皮肤 url地址
保存数据

二. 代码实现步骤

  1. 发送请求, 模拟浏览器对于url地址发送请求
  2. 获取数据, 获取服务器返回响应数据
  3. 解析数据, 提取我们想要内容, 皮肤名字
  4. 保存数据, 数据保存本地

在这里插入图片描述

代 码

#python学习交流群:903971231##3
# 导入数据请求模块 ---> 第三方模块 需要 在cmd里面进行安装 pip install requests
import requests
# 导入正则模块 ---> 内置模块 不需要安装
import re
# 导入文件操作模块 ---> 内置模块 不需要安装
import os

# 确定网址
link = 'https://pvp.qq.com/web201605/js/herolist.json'
# 模拟伪装浏览器 ---> 请求头
headers = {
    # user-agent 用户代理 表示浏览器基本身份标识
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求
json_data = requests.get(url=link, headers=headers).json()
# for循环遍历
for index in json_data:
    # 字典键值对取值 根据冒号左边的内容[键],提取冒号右边的内容[值]
    hero_id = index['ename']
    hero_name = index['cname']
    # 设定文件夹路径 相对路径
    file = f'img\\{hero\_name}\\'
    if not os.path.exists(file):
        os.makedirs(file)
    """
 1. 发送请求, 模拟浏览器对于url地址发送请求
 - headers 字典数据类型, 构建完整键值对
 - 请求头参数 可以直接在开发者工具复制粘贴
 - 使用什么请求方法, 根据开发者工具来
 """
    # 确定请求url地址
    url = f'https://pvp.qq.com/web201605/herodetail/{hero\_id}.shtml'
    # 模拟伪装浏览器 ---> 请求头
    headers = {
        # user-agent 用户代理 表示浏览器基本身份标识
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
    }
    # 发送请求 ---> <Response [200]> 响应对象: <>表示对象 response 响应回复 200 状态码 表示请求成功
    response = requests.get(url=url, headers=headers)
    # 乱码了 怎么办? ---> 你要根据网页编码来 response.encoding = 'gbk'
    # 自动识别编码
    response.encoding = response.apparent_encoding
    # 获取数据, 获取服务器返回响应数据 文本数据 print(response.text)
    """
 解析数据 re正则 会1 不会2
 re.findall() 从什么地方 去找什么数据
 从 response.text 里面 去找 data-imgname="(.\*?)"> 其中 (.\*?) 就是我们要的数据
 """
    title_list = re.findall('data-imgname="(.\*?)">', response.text)[0]
    # 鹿灵守心&0|森&0|遇见神鹿&71|时之祈愿&94|时之愿境&42
    title_list = re.sub('&\d+', '', title_list).split('|')
    print(title_list)
    # for循环 for num in range(1, 6): len() 统计列表元素个数
    for num in range(1, len(title_list) +1):
        # 列表取值, 根据索引位置,索引位置从0开始计数
        img_name = title_list[num-1]
        # 构建图片url地址
        img_url = f'https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{hero\_id}/{hero\_id}-bigskin-{num}.jpg'
        print(img_name, img_url)
        # 保存数据 ---> 发送请求 获取数据 二进制数据
        img_content = requests.get(url=img_url, headers=headers).content
        with open(file + img_name + '.jpg', mode='wb') as f:
            f.write(img_content)

在这里插入图片描述

做了那么多年开发,自学了很多门编程语言,我很明白学习资源对于学一门新语言的重要性,这些年也收藏了不少的Python干货,对我来说这些东西确实已经用不到了,但对于准备自学Python的人来说,或许它就是一个宝藏,可以给你省去很多的时间和精力。

别在网上瞎学了,我最近也做了一些资源的更新,只要你是我的粉丝,这期福利你都可拿走。

我先来介绍一下这些东西怎么用,文末抱走。


(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

(4)200多本电子书

这些年我也收藏了很多电子书,大概200多本,有时候带实体书不方便的话,我就会去打开电子书看看,书籍可不一定比视频教程差,尤其是权威的技术书籍。

基本上主流的和经典的都有,这里我就不放图了,版权问题,个人看看是没有问题的。

(5)Python知识点汇总

知识点汇总有点像学习路线,但与学习路线不同的点就在于,知识点汇总更为细致,里面包含了对具体知识点的简单说明,而我们的学习路线则更为抽象和简单,只是为了方便大家只是某个领域你应该学习哪些技术栈。

在这里插入图片描述

(6)其他资料

还有其他的一些东西,比如说我自己出的Python入门图文类教程,没有电脑的时候用手机也可以学习知识,学会了理论之后再去敲代码实践验证,还有Python中文版的库资料、MySQL和HTML标签大全等等,这些都是可以送给粉丝们的东西。

在这里插入图片描述

这些都不是什么非常值钱的东西,但对于没有资源或者资源不是很好的学习者来说确实很不错,你要是用得到的话都可以直接抱走,关注过我的人都知道,这些都是可以拿到的。

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值