爬虫学习4:爬取王者荣耀技能信息

爬虫:爬取王者荣耀技能信息(代码和代码流程)

  • 代码

  • # 王者荣耀英雄信息获取
    import time
    from selenium import webdriver
    from selenium.webdriver.common.by import By
    if __name__ == '__main__':fp = open("./honorKing.txt", "w", encoding='utf8')# 1、urlurl = "https://pvp.qq.com/web201605/herolist.shtml"#页面url# 2、发送请求driver = webdriver.Edge()#采用edge浏览器driver.get(url)#获取urltime.sleep(3)#防止被检测到爬虫爬取# 3、获取想要的信息# 获取页面信息# driver.page_source# 4、数据解析li_list = driver.find_elements(By.XPATH, "//ul[@class='herolist clearfix']/li")#获取所有的lihero_url_list = []#存储所有的跳转url数据for li in li_list:hero_url = li.find_element(By.XPATH, "a").get_attribute("href")#跳转的urlhero_url_list.append(hero_url)# 句柄的问题  先把所有第一个页面的东西存起来for url in hero_url_list:time.sleep(3)#防止被检测到爬虫爬取driver.get(url)hero_name = driver.find_element(By.XPATH, "//h2[@class='cover-name']").textdiv_list = driver.find_elements(By.XPATH, "//div[@class='skill-show']/div")# 拿到所有的技能信息fp.write(hero_name + "\n")#写入角色名称for div in div_list:js = f'document.getElementsByClassName("show-list")[{div_list.index(div)}].style.display="block"'#解除技能信息被锁driver.execute_script(js)skill_name = div.find_element(By.XPATH, "p[1]/b").textskill_desc = div.find_element(By.XPATH, "p[2]").textfp.write(skill_name + "---->" + skill_desc + "\n")print(skill_name, skill_desc)# 只爬两个看看样例# if hero_url_list.index(url) == 1:#     breakdriver.close()
    
  • 代码流程:

    • 获取页面的url

在这里插入图片描述

  • 跳转到下一界面的url

在这里插入图片描述

  • 找到希望得到的数据的位置

在这里插入图片描述

  • 采用:f’document.getElementsByClassName(“show-list”)[{被锁位置}].style.display=“block”',将不能同时出现的数据同时出现

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/383180.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nginx隐藏server及版本号

1、背景 为了提高nginx服务器的安全性,降低被攻击的风险,需要隐藏nginx的server和版本号。 2、隐藏nginx版本号 在 http {—}里加上 server_tokens off; 如: http {……省略sendfile on;tcp_nopush on;keepalive_timeout 60;tcp_nodelay o…

Microsoft 365 Office BusinessPro LTSC 2024 for Mac( 微软Office办公套件)

Microsoft 365 Office BusinessPro LTSC 2024是一款专为商业用户设计的办公软件套件,它集成了Word、Excel、PowerPoint等核心应用,并特别包含了Microsoft Teams这一强大的协作工具。Teams将聊天、会议、文件共享、任务管理等功能整合到一个平台上&#x…

【黑科技】:Laravel 项目性能提升 20 倍

令人激动的黑科技:Laravel 项目性能提升 20 倍 这个项目能够在无需修改任何代码且无需第三方扩展的前提下,将你的 Laravel 项目性能提高 20 倍。它仅依赖于 PHP 原生的 pcntl、posix、fiber 和 sockets。 项目灵感 起因是看到官方发布的 PHP 8.1 更新…

软件开发者消除edge浏览器下载时“此应用不安全”的拦截方法

当Microsoft Edge浏览器显示“此应用不安全”或者“已阻止此不安全的下载”这类警告时,通常是因为Windows Defender SmartScreen或者其他安全功能认为下载的文件可能存在安全风险。对于软件开发者来说,大概率是由于软件没有进行数字签名,导致…

河南萌新联赛2024第(二)场:南阳理工学院

文章目录 原题链接A.国际旅行Ⅰ题意:思路:代码: F.水灵灵的学弟题意:思路:代码 I.重生之zbk要拿回属于他的一切题意:思路:代码: J.这是签到题意:思路:代码&am…

畅游时空|虚拟世界初体验,元宇宙游戏如何开发?

在元宇宙中,用户可以通过虚拟身份进行互动、社交、工作和娱乐,体验与现实世界平行的生活和活动。元宇宙不仅仅是一个虚拟空间,更是一个融合了虚拟和现实的生态系统,具有巨大的发展潜力和应用前景。 在不断发展的数字环境中&#x…

NCRE3 2-1 网络总体设计基本方法

这部分记忆的比较多 概览 设计网络建设总体目标确定网络系统方案设计原则网络系统总体设计设计网络拓扑结构进行网络设备选型网络系统安全设计 设计网络建设总体目标 这部分视频没说到 确定网络系统方案设计原则 这部分视频没说到 网络系统总体设计 核心层网络结构设计 …

图形编辑器基于Paper.js教程09:鼠标拖动画布,以鼠标点为缩放中心进行视图的缩放

如何使用Paper.js实现画布的缩放与拖动功能 在Web开发中,利用Paper.js库进行图形的绘制和交互操作是一种常见的实践。Paper.js是一个强大的矢量图形库,可以让开发者通过简洁的API完成复杂的图形操作。在本文中,我们将详细探讨如何使用Paper.…

Dify中接入GPT-4o mini模型

GPT-4o mini模型自己承认是基于GPT-3.5架构的模型,有图有真相: 一.GPT-4o mini官网简介 GPT-4o mini(“o"代表"omni”)是小型型号类别中最先进的型号,也是OpenAI迄今为止最便宜的型号。它是多模态的&#x…

idea一键为实体类赋值

file -> settings -> plugins -> marketplace 把这个插件装上 找个实体,选中,altenter进入edit界面 我是选择只保留右边这种生成方法,然后选择ok 返回到那个实体,选择,altenter generate生成

键盘是如何使用中断机制的?当打印一串字符到显示屏上时发生了什么???

当在键盘上按下一个键时会进行一下操作: 1.当按下任意一个键时,键盘编码器监控会来判断按下的键是哪个 2.键盘控制器用将解码,将键盘的数据保存到键盘控制器里数据寄存器里面 3.此时发送一个中断请求给中断控制器,中断控制器获取到中断号发送…

PyTorch基础(24)--torch.multinomial()方法

👉torch.multinomial的源码见https://github.com/dongjinkun/PyTorch/tree/main/torch 一、前言 torch.multinomial()方法多出现在需要采样的场景中,如强化学习。具体讲,当使用强化学习解决旅行商问题时,针对某一个instance&…

Spring Boot集成Spring Batch快速入门Demo

1.什么是Spring Batch? Spring Batch 是一个轻量级的开源框架,它提供了一种简单的方式来处理大量的数据。它基于Spring框架,提供了一套批处理框架,可以处理各种类型的批处理任务,如ETL、数据导入/导出、报表生成等。S…

【通信协议-RTCM】MSM语句(2) - RINEXMSM7语句总结(重要!自动化开发计算卫星状态常用)

注释: 在工作中主要负责的是RTCM-MSM7语句相关开发工作,所以主要介绍的就是MSM7语句相关内容 1. 相位校准参考信号 2. MSM1、MSM2、MSM3、MSM4、MSM5、MSM6和MSM7的消息头内容 DATA FIELDDF NUMBERDATA TYPENO. OF BITSNOTES Message Number - 消息编…

基于STM32的农业大棚温湿度采集控制系统的设计

目录 1、设计要求 2、系统功能 3、演示视频和实物 4、系统设计框图 5、软件设计流程图 6、原理图 7、主程序 8、总结 🤞大家好,这里是5132单片机毕设设计项目分享,今天给大家分享的是智能教室。 设备的详细功能见网盘中的文章《8、基…

pycharm git 新建备忘

git 提交时出现如下错误: Committer identity unknown *** Please tell me who you are. Run git config --global user.email "youexample.com" git config --global user.name "Your Name" to set your accounts default identity. Omit…

在STM32嵌入式中C/C++语言对栈空间的使用

像STM32这样的微控制器在进入main函数之前需要对栈进行初始化。可以说栈是C语言运行时的必要条件。我们知道栈实际上是一块内存空间,那么这块空间都用来存储什么呢?有什么办法能够优化栈空间的使用? 栈空间保存的内容 栈是一个先入后出的数据…

华杉研发九学习日记17 正则表达式 异常

华杉研发九学习日记17 一,正则表达式 ^ $ 作用: 测试字符串内的模式(匹配) 例如,可以测试输入字符串,以查看字符串内是否出现电话号码模式或信用卡号码模式。这称为数据验证. 替换文本(替换》 可以使用正则表达式来…

ubuntu安装mysql8.0

文章目录 ubuntu版本安装修改密码取消root跳过密码验证 ubuntu版本 22.04 安装 更新软件包列表 sudo apt update安装 MySQL 8.0 服务器 sudo apt install mysql-server在安装过程中,系统可能会提示您设置 root 用户的密码,请务必牢记您设置的密码。…

微信小程序实现聊天界面,发送功能

.wxml <scroll-view scroll-y"true" style"height: {{windowHeight}}px;"><view wx:for"{{chatList}}" wx:for-index"index" wx:for-item"item" style"padding-top:{{index0?30:0}}rpx"><!-- 左…