Python爬虫、数据分析、网站开发等案例教程视频免费在线观看

https://space.bilibili.com/523606542

Python学习交流群:1039649593

前言

《和平精英》这个游戏想必大家都玩过了,今天来教大家制作一个《和平精英》游戏的资料查询助手

受害者地址:

https://gp.qq.com/main.shtml

1、我们是不是要去获取这些数据《和平精英》武器配件 (爬虫部分)

首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的url地址
其次:对于 每个武器的url地址发送请求 然后获取每个武器的一些基本信息

2、爬虫代码实现思路

1. 发送请求

2. 获取数据

3. 解析数据

方式很多种:

4. 保存数据 (只要打印输入就可以了)

开始敲代码

需要爬取的数据:武器、配件、物资、载具

在发送请求之前是不是需要加一个请求头

请求头: 把python代码伪装成浏览器对服务器发送一个请求 然后服务器就会给我们返回一个response数据

user-agent :浏览器信息

import requests # 第三方模块headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36'
}
response = requests.get(url=html_url, headers=headers)

先爬取解析武器的数据,优缺点、武器的伤害都全部爬取下来

def get_arms_info():url = 'https://gp.qq.com/cp/a20190522gamedata/pc_list.shtml'response = get_response(html_url=url)selector = parsel.Selector(response.text)# css选择器 就根据标签属性提取相关内容href = selector.css('#section-container .clear li a::attr(href)').getall()titles = selector.css('#section-container .clear li a::attr(title)').getall()# 通常我们要获取一个列表里面 每个元素 是不是要通过遍历 for循环zip_data = zip(href, titles)lis = []for index in zip_data:dit = {'物品名称': index[1],'详情页': index[0]}lis.append(dit)pd_data = pd.DataFrame(lis)pd.set_option('display.max_columns', None)print(pd_data)arms_num = input('请输入你要查询的武器序号: ')if int(arms_num) <= len(lis):arms_url = lis[int(arms_num)]['详情页']response_1 = get_response(arms_url)selector_1 = parsel.Selector(response_1.text)kind = selector_1.css('.wea_class::text').get() # 武器种类bullet = selector_1.css('.wea_bullet::text').get() # 子弹口径skin_list = selector_1.css('.parts_list li .skin_name::text').getall() # 子弹口径# 把列表转成我们字符串类型skin_name = '/'.join(skin_list)advantage = selector_1.css('.merit_text p:nth-child(2)::text').get()defect = selector_1.css('.merit_text p:nth-child(4)::text').get()st_hurt = selector_1.css('.merit_rt_st li::text').getall()tb_hurt = selector_1.css('.merit_rt_tb li::text').getall()print('--'*50)print('武器名字: ', lis[int(arms_num)]['物品名称'])print('武器的类型: ', kind)print('子弹', bullet)print('最佳配件: ', skin_name)print('优点: ', advantage)print('缺点: ', defect)print('--'*50)print('武器击中身体伤害:')print(f'裸装击中身体:{st_hurt[0]}枪淘汰')print(f'一级甲击中身体:{st_hurt[1]}枪淘汰')print(f'二级甲击中身体:{st_hurt[2]}枪淘汰')print(f'三级甲击中身体:{st_hurt[3]}枪淘汰')print('--' * 50)print('武器击中头部伤害:')print(f'裸装击中头部:{tb_hurt[0]}枪淘汰')print(f'一级头击中头部:{tb_hurt[1]}枪淘汰')print(f'二级头击中头部:{tb_hurt[2]}枪淘汰')print(f'三级头击中头部:{tb_hurt[3]}枪淘汰')print('--' * 50)else:print('输入有误')

配件的数据解析

def get_fitting_info():"""配件"""html_url = 'https://gp.qq.com/cp/a20190522gamedata/pc_list.shtml'response = get_response(html_url)selector = parsel.Selector(response.text)titles = selector.css('#section-container2 .clear li a::attr(title)').getall()href = selector.css('#section-container2 .clear li a::attr(href)').getall()zip_data_1 = zip(titles, href)lis = []for index in zip_data_1:title = index[0]index_url = index[1]dit = {'物品名称': title,'详情页': index_url,}lis.append(dit)pd_data = pd.DataFrame(lis)pd.set_option('display.max_columns', None)print('配件分类如下所示:')print(pd_data)fitting_num = input('请输入你要查询的配件序号:')fitting_url = lis[int(fitting_num)]['详情页']html_data = get_response(fitting_url).textsel = parsel.Selector(html_data)fitting_sx = sel.css('.intro_sx dd::text').get()fitting_sy = sel.css('.intro_sy dd::text').get()print('--' * 50)print('配件名字:', lis[int(fitting_num)]['物品名称'])print('配件属性:', fitting_sx)print('配件适用:', fitting_sy)print('--' * 50)

物资的数据解析

def get_supplies_info():"""物资"""html_url = 'https://gp.qq.com/cp/a20190522gamedata/pc_list.shtml'response = get_response(html_url)selector = parsel.Selector(response.text)titles = selector.css('#section-container3 .clear li a::attr(title)').getall()href = selector.css('#section-container3 .clear li a::attr(href)').getall()zip_data_2 = zip(titles, href)lis = []for index in zip_data_2:title = index[0]index_url = index[1]dit = {'物品名称': title,'详情页': index_url,}lis.append(dit)pd_data = pd.DataFrame(lis)pd.set_option('display.max_columns', None)print('物资分类如下所示:')print(pd_data)supplies_num = input('请输入你要查询的物资序号:')supplies_url = lis[int(supplies_num)]['详情页']html_data = get_response(supplies_url).textsel = parsel.Selector(html_data)supplies_sx = sel.css('.intro_sx dd::text').get()print('--' * 50)print('配件名字:', lis[int(supplies_num)]['物品名称'])print('配件属性:', supplies_sx)print('--' * 50)

载具的数据解析

def get_car_info():"""载具"""html_url = 'https://gp.qq.com/cp/a20190522gamedata/pc_list.shtml'response = get_response(html_url)selector = parsel.Selector(response.text)titles = selector.css('#section-container4 .clear li a::attr(title)').getall()href = selector.css('#section-container4 .clear li a::attr(href)').getall()zip_data_2 = zip(titles, href)lis = []for index in zip_data_2:title = index[0]index_url = index[1]dit = {'物品名称': title,'详情页': index_url,}lis.append(dit)pd_data = pd.DataFrame(lis)pd.set_option('display.max_columns', None)print('物资分类如下所示:')print(pd_data)supplies_num = input('请输入你要查询的物资序号:')supplies_url = lis[int(supplies_num)]['详情页']html_data = get_response(supplies_url).textsel = parsel.Selector(html_data)supplies_sx = sel.css('.intro_sx dd::text').get()print('--' * 50)print('配件名字:', lis[int(supplies_num)]['物品名称'])print('配件属性:', supplies_sx)print('--' * 50)

调用函数,判断

if __name__ == '__main__':while True:string = """===================================和平精英资料查询助手V1.0版本0.武器 1.配件 2.物资 3.载具
==================================="""print(string)word = input('请输入你要查询的内容(输入n退出): ')if word == '0':get_arms_info()elif word == '1':get_fitting_info()elif word == '2':get_supplies_info()elif word == '3':get_car_info()elif word == 'n':breakelse:print('请正确输入~~')

结果展示

Python制作手游《和平精英》游戏资料查询助手相关推荐

  1. Python制作吃鸡各数据资料查询助手,带你做理论王者~

    前言 大家早好.午好.晚好吖 ❤ ~ 吃鸡想必大家都玩过了 今天来教大家制作一个资料查询助手 1.我们是不是要去获取这些数据 武器配件 首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的 ...

  2. 上线两周后 腾讯吃鸡手游和平精英怎么样了

    和平精英5月8日正式上市后,引发众媒体和用户热议,新浪财经,华尔街见闻都曾报道,和平精英更是登上了新浪微博的首页.两周过去,和平精英的表现到底如何了?上市之前,开发和平精英的游戏厂商腾讯股价连续四天上 ...

  3. 和平精英绝地求生服务器维护,手游和平精英辅助绝地求生今天维护什么时候结束?今天几点可以...

    绝地求生现在正在维护中,这个公告昨天官方就已经提前告知,这次维护和前几次一样,还是预计四小时.如果提前完成更新工作会提前开机,反之延迟开机,总之大家要以最后结束公告为准,以下是本次维护说明,一起来看看 ...

  4. Python制作某火爆游戏资料查询助手

    1.我们是不是要去获取这些数据<和平精英>武器配件 (爬虫部分) 首先:对于 武器一个详情页url地址发送请求, 获取 每个武器的url地址 其次:对于 每个武器的url地址发送请求 然后 ...

  5. python身份证号掩盖出生日期的代码_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  6. python身份证验证系统_利用Python制作全国身份证号验证及查询系统!就问你吊不吊!...

    大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及 ...

  7. 用python制作全国身份证号验证及查询系统

    ​ 大家好哇,又是一个愉快的周末,今天本鸟给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性 ...

  8. 视频教程-UE4 Unity FPS 安卓手游 和平战场 逆向设计开发-其他

    UE4 Unity FPS 安卓手游 和平战场 逆向设计开发 精通windows下C,C++编程,深入理解指针,数据结构,精通linux下C,C++编程,多线程及锁机制,进程间通信,TCP和IP协议, ...

  9. 【趣味案例】用python制作全国身份证号验证及查询系统

    今天给大家分享1个有趣的实战项目,用python制作"全国身份证号验证及查询系统",成品界面如下图: 本系统可以实现身份证号真伪验证,年龄.性别及发证地查询,看起来是不是很高大上, ...

最新文章

  1. C语言网络编程:socket函数
  2. 快速搭建一个网关服务,动态路由、鉴权看完就会(含流程图)
  3. 学好python需要什么基础-自学Python需要怎样的基础和准备
  4. Ubuntu用apt-get安装报错:E: Could not get lock /var/lib/dpkg/lock-frontend - open (11:资源暂时不可用)
  5. 虚拟路由器冗余协议(VRRP)原理与实验
  6. 备忘:C++基础 -- 数据类型的学习总结
  7. Go的go-sql-driver/mysql
  8. 几种身份的创业者优劣势大比拼
  9. Java 获取目录的大小
  10. 适用初学者的5种Python数据输入技术
  11. 从不同步的代码块中调用了对象同步方法。_Java中Synchronized的用法
  12. python列表添加元组_python 列表与元组的操作简介
  13. 微软 Exchange Autodiscover 协议存bug,数十万域凭据可遭泄露
  14. iOS 视频播放器开发(一)
  15. 微信小程序图片上传至mysql数据库
  16. [ScyllaHide] 04 ScyllaHide配置报错原因定位
  17. 【SDCC讲师专访】Swoole开源项目创始人韩天峰:PHP是最好的编程语言
  18. 《工程伦理与学术道德》第一章习题
  19. vue view design 图标选择器
  20. Mac系统升级Python版本(Python2.7升级到Python3.8.2)

热门文章

  1. C# 调用微软自带的语音识别
  2. 【Docker】Docker进阶(二)
  3. 漫谈程序员系列:程序员该不该考虑初创公司
  4. iOS 9:四、设置信任
  5. InsightFace又出新作!合成更真实更多样近红外人脸图片,助力“近红外-可见光”跨域人脸识别...
  6. 谷歌html弹出ie页面,如何从谷歌跳转IE,打开指定的网址
  7. stm32直流电机控制—PID算法篇
  8. 如何利用爬虫工具实现竞品价格监控
  9. calibre的注册表残留删除
  10. python高清壁纸_爬虫 抓取王者荣耀所有英雄皮肤高清壁纸(完美版本)