• 昨日,一老师课前预测日本赢球,结果令人惊叹


    前言

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

    世界杯是当前最为热门的一个体育赛事,

    也是很多小伙伴最为喜欢的一个体育运动之一

    而在昨日第四场:F组第一轮,比赛时间:2022年11月23日 21:00 德国VS日本

    被一老师成功预测,日本爆冷,赢下德国球队(偶然所中,不可全信啊~😜)

    对跟风买了的这几位小伙伴只能说,真不错~零花钱又有了


    好啦~毕竟大家还是来学技术的对不对

    不能太过关注这!!

    今天我们来分析一下世界杯球员的各大数据

    知识点:

    • 动态数据抓包

    • requests发送请求

    • json数据解析

    开发环境:

    • python 3.8 运行代码

    • pycharm 2021.2 辅助敲代码

    • requests pip install requests

    实现代码:

    1. 发送请求

    2. 获取数据

    3. 解析数据

    4. 保存数据

    代码展示

    import requests     # 发送网络请求的  导入别人写好的功能
    import csv          # 写入数据的 内置模块
    
    • 1
    • 2

    伪装

    headers = {
        'Cookie': 'UOR=www.baidu.com,tousu.sina.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://2018.sina.com.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'
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    1. 发送请求

    url = 'http://api.sports.sina.com.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)
    
    • 1
    • 2

    2. 获取数据

    json_data = response.json()
    
    • 1

    3. 解析数据 提取数据

    什么是字典?

    • 数据容器 用来存数据 通过:前面的拼音 取到:后面的值

    • {“A”:“不”,“E”:“额”,“C”:“存”,“D”:“的”}

    [{}, {}, {}]: 列表 数据容器 存数据

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

    wb以二进制写入

    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])
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    推荐往期文章

    🎯 博主所有文章素材、解答、源码、教程领取处:点击

    对python感兴趣的小伙伴也可以看一下博主其他相关文章哦~

    python小介绍:

    python是什么?工作前景如何?怎么算有基础?爬数据违法嘛?。。

    python数据分析前景:

    用python分析“数据分析”到底值不值得学习,以及学完之后大概能拿到多少工资

    python基础自测题:

    Python 800 道习题 (°ー°〃) 测试你学废了嘛

    最后推荐一套Python视频给大家,希望对大家有所帮助:

    全套教程!你和大佬只有一步之遥【python教程】

    尾语

    要成功,先发疯,下定决心往前冲!

    学习是需要长期坚持的,一步一个脚印地走向未来!

    未来的你一定会感谢今天学习的你。

    —— 心灵鸡汤

    本文章到这里就结束啦~感兴趣的小伙伴可以复制代码去试试哦 😝

    👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇
  • 相关阅读:
    《征服数据结构》栈
    PyTorch的自动求导
    数据治理在数字化转型中的重要性
    【C++】继承 ⑨ ( 继承中成员变量同名的处理方案 )
    星期几(冬季每日一题 6)
    Clickhouse MAP类型
    凭此五点 这款信创传输系统解决了传输的迫切需求
    串的基本操作(数据结构)
    操作系统知识点总结——第二章进程管理
    go语言的高级特性
  • 原文地址:https://blog.csdn.net/python56123/article/details/128017078