码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Selenium批量查询运动员技术等级


    文章目录

    • 问题描述
    • 安装
    • 代码
    • 参考文献

    问题描述

    2022 西安某宁 3V3 男子单打 A 组 到底有多卷呢?




    安装

    1. Python 的 selenium 库
    pip install selenium
    
    • 1
    1. 安装 Chrome
    2. 查看本机Chrome版本号
    3. 安装 Chrome 驱动
      根据版本号搜谷歌浏览器驱动镜像 或 官方驱动

      将解压后的 chromedriver.exe 放在 C:\Users\Administrator\AppData\Local\Programs\Python\Python36 中

    测试代码

    from selenium import webdriver
    
    driver = webdriver.Chrome()
    driver.get('https://www.baidu.com/')
    
    • 1
    • 2
    • 3
    • 4




    代码

    OCR 使用微信的提取文字或 QQ 的屏幕识图,此处略。

    Selenium + 运动员技术等级信息查询系统

    import time
    
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    
    user_names = ['王靖淇', '段沅龙', '蒋宇', '刘嘉鑫', '李翊辰', '乔佳辉', '周惠一', '唐天毅', '覃禹阳', '郭珂', '付迪雄', '王新洛', '张邈汉', '张竟超', '朱恩亮',
                  '范泽洋', '高嘉炜', '余纪霖', '杨博', '毛立凯', '何非凡', '李鹏辉', '刘俊延', '张玥涵', '王嘉华', '党楚京', '李浩杰', '白晨阳', '郭容義', '万鑫豪',
                  '孙阳', '常皓焜', '赵亮', '柏维昭', '谢少石', '刘新', '房龙昊', '王为初', '耿智浩', '刘灵桦', '吴瑞隆', '许磊', '曹先龙', '吕彤璞', '苏武松',
                  '朱子曦', '李成敏', '宋振庭', '李龙玥', '范森', '刘智宇', '赵士滕', '杨烨', '王逸伦', '王梓宸', '甘士杰', '张廷全', '刘国洋', '张艺威', '张嘉豪',
                  '崔鹏', '李龙', '柴洮', '白津昊', '梁志文', '焦子熠', '穆桐', '杨泽宇', '王禄', '雷宇', '张哲珩', '王凯弘', '张鑫', '付磊', '刘一鸣', '王雅帅',
                  '梁健伟', '苏铭', '李佳轩', '胥子豪', '王焕军', '柏承钊', '张晓', '胡晓斌', '杨海林', '陈振刚', '邓秦龙', '吕李宝', '吕锦博', '易畅', '李姚',
                  '刘腾飞', '孙启轩', '刘文泽', '张伯龙', '王哲', '李国京', '高伟']
    
    # Chrome配置
    option = webdriver.ChromeOptions()
    option.add_experimental_option('useAutomationExtension', False)
    option.add_experimental_option('excludeSwitches', ['enable-automation'])
    driver = webdriver.Chrome(options=option)
    
    # 爬取逻辑
    count = 0
    for user_name in user_names:
        driver.get(f'https://ydydj.univsport.com/index.php?c=look&a=seach_look&item=36.1&user_name={user_name}')
        # 显式等待5s,查找class为main_lista的元素
        main_lista = WebDriverWait(driver, 5).until(lambda x: x.find_element(By.CLASS_NAME, 'main_lista'))
        elements = main_lista.find_elements(By.XPATH, './*')  # 查找底下的所有元素
        if elements:
            count += 1
            for element in elements:
                # 简略版
                # text = element.text
                # level = text.splitlines()[-1]
                # print(user_name, level)
    
                # 详细版
                element.click()
                time.sleep(2)
                wza_rigys = driver.find_element(By.CLASS_NAME, 'wza_rigys')
                texts = wza_rigys.text.splitlines()
                data = {x.replace(':', ''): texts[i + 1] for i, x in enumerate(texts) if ':' in x}  # 具体等级信息
                print(data['姓名'], data['等级'], data['比赛名称'], data['比赛成绩'], data['授予时间'])
        else:
            print(user_name)
    print(f'参赛{len(user_names)}人,其中等级运动员{count}人,占比 {count / len(user_names) * 100:.2f}%')
    driver.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46

    参赛 98 人,其中等级运动员 21 人,占比 21.43%

    PS:可能有重名的人存在,例如孙阳




    参考文献

    1. Selenium Documentation
    2. webdriver已获取得到一个元素,怎么得到该元素下的所有子节点和父节点
    3. Selenium 设置元素等待的三种方式
    4. 2022 西安某宁 3V3 男子单打 A 组
  • 相关阅读:
    电脑重装系统后Word文档如何横向排版
    Compose LazyColumn 对比 RecyclerView ,谁的性能更好?
    X86与FPGA相结合,基于PIB的AI开发——人体姿态识别
    windows平台 git bash使用
    Windows 10 Enterprise LTSC 2021 (x86) - DVD (Chinese-Simplified)文件分享
    MATLAB环境下基于变分贝叶斯的组织学病理图像颜色盲反卷积方法
    一文带你深入浅出C语言动态内存分配
    微服务--alpha使用
    苹果收购DarwinAI,引领设备上AI运行新时代,隐私保护再升级
    阿里工作7年,肝到P8就剩这份学习笔记了,已助朋友拿到10个Offer
  • 原文地址:https://blog.csdn.net/lly1122334/article/details/125402705
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号