当前位置: 首页 > news >正文

为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果...

为了提前预测比赛结果,于是我用Python获取比赛球员数据进行分析,结果...

  • 前因后果
  • 准备工作
  • 实现步骤
  • 代码展示
  • 部分效果展示
  • 最后

前因后果

最近不是世界杯嘛,但是太忙了实在没时间看,于是为了凑热闹,用Python把本次球员信息都获取了一遍,看不了比赛,那就多了解了解嘛~


于是靠着分析的情况,大胆的买了一波小日子赢,实事证明我的判断没有错,甚至有理有据~


话不多说,我们开始操作~

准备工作

软件&模块

本次使用的环境是 python 3.8
编辑器是 pycharm 2021

第三方模块是 requests ,第三方模块需要手动安装,我们win+r输入cmd 打开命令提示符窗口 ,输入pip install requests 即可安装。

实现步骤

爬虫原理是模拟成客户端向服务器发送网络请求。

那么我们如何来实现今天的案例呢?

大致分为一下几步,

1.分析数据来源

  • 静态数据: 元素面板去分析
  • 动态数据

2、实现代码:

  • 发送请求
  • 获取数据
  • 解析数据
  • 保存数据

代码展示

import requests     # 发送网络请求的  导入别人写好的功能
import csv          # 写入数据的 内置模块
 
 
# 伪装
headers = {
    'Cookie': 'UOR=www.****.com.cn,; SINAGLOBAL=175.0.61.77_1657884424.966721; U_TRS1=0000004e.e788d5bf.6321e608.840542e4; Apache=175.0.61.120_1669203295.444472; ULV=1669203299775:10:6:4:175.0.61.120_1669203295.444472:1669203296517',
    'Host': 'api.sports.sina.com.cn',
    'Referer': 'http://****.cn/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
}
url = 'http://*****.cn/?p=sports&s=sport_client&a=index&_sport_t_=football&_sport_s_=opta&_sport_a_=teamStatics&show_players=1&type=108&season=2017&id=960&dpc=1'

response = requests.get(url=url, headers=headers)

json_data = response.json()

players = json_data['result']['data']['players']

f = open('日本球队.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.writer(f)
csv_writer.writerow(['player_name_cn', 'count', 'mins_played', 'goal_assist', 'goals', 'total_pass', 'accurate_pass'])
for player in players:
    player_name_cn = player['player_name_cn']                 # 球员名称
    count = player['count']                                   # 场次
    mins_played = player['mins_played']                       # 出场时间
    goal_assist = player['goal_assist']                       # 助攻
    goals = player['goals']                                   # 进球
    total_pass = player['total_pass']                         # 传球
    accurate_pass = player['accurate_pass']                   # 传准
    csv_writer.writerow([player_name_cn, count, mins_played, goal_assist, goals, total_pass, accurate_pass])

部分效果展示

就冲小日子的数据,虽然我看他们不顺眼,但是我还是买了他们~


emmm~
结果大家昨晚都看到了,果然不负所望,小赚一波。

我准备了这些视频,PDF电子书籍,以及本文源代码!给大家直接在文末名片自取即可~


最后

当然,本文仅供参考,娱乐为主,大家也别上头~

好了,今天的分享就到这里了,咱们下次见!

相关文章:

  • 机器学习之特征提取
  • 第 46 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京),签到题5题
  • 线代——求逆矩阵的快捷方法
  • 分布式存储之 etcd 的集群管理
  • std::unique_ptr(基础和仿写)
  • UG旋钮盖模具设计与加工
  • 【JAVA高级】——封装JDBC中的DaoUtils工具类(Object类型方法)
  • MYSQL事务原理分析
  • ORB-SLAM3算法学习—Frame构造—基于SAD滑窗的双目特征匹配
  • 【最佳实践】gorm 联表查询 joins
  • http请求走私漏洞原理,利用,检测,防护
  • simulink中比scope模块还好用的平替出图工具?
  • 微信小程序和H5之间互相跳转、互相传值
  • web前端期末大作业 html+css家乡旅游主题网页设计 湖北武汉家乡介绍网页设计实例
  • PS-HDR图像编辑与应用
  • [case10]使用RSQL实现端到端的动态查询
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Invalidate和postInvalidate的区别
  • JAVA SE 6 GC调优笔记
  • Less 日常用法
  • Redux系列x:源码分析
  • Vue 重置组件到初始状态
  • 成为一名优秀的Developer的书单
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 你不可错过的前端面试题(一)
  • 如何设计一个微型分布式架构?
  • 数据科学 第 3 章 11 字符串处理
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • 最近的计划
  • Prometheus VS InfluxDB
  • UI设计初学者应该如何入门?
  • ​DB-Engines 12月数据库排名: PostgreSQL有望获得「2020年度数据库」荣誉?
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ​软考-高级-系统架构设计师教程(清华第2版)【第9章 软件可靠性基础知识(P320~344)-思维导图】​
  • #{}和${}的区别?
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (搬运以学习)flask 上下文的实现
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (没学懂,待填坑)【动态规划】数位动态规划
  • (三)终结任务
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • .NET 事件模型教程(二)
  • .net流程开发平台的一些难点(1)
  • /bin、/sbin、/usr/bin、/usr/sbin
  • @Service注解让spring找到你的Service bean
  • @在php中起什么作用?
  • [1] 平面(Plane)图形的生成算法
  • [2018-01-08] Python强化周的第一天
  • [Android] Upload package to device fails #2720
  • [BZOJ 3531][Sdoi2014]旅行(树链剖分+线段树)
  • [C++参考]拷贝构造函数的参数必须是引用类型
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [ISITDTU 2019]EasyPHP