尝试爬取LOL英雄技能属性--01

2023-11-18

首先我们找到一个LOL英雄的全部展示的页面:http://lol.kuai8.com/hero/ 恕瑞玛,your king has return ! hah

hah金克丝长得不错,点击一下http://lol.kuai8.com/hero/3.html

摁一下键盘F12出现页面源码:

点击一下左上角的框住的这个按钮,然后在左边显示页面选择目标右边就会自动定位相应的源码

比如我们在左边点击金克丝的名字,右边就自动定位到了相应的源码

经查看该网页请求方式为get

然后我们首先获取该页面的html源码:

import requests
from pyquery import PyQuery as pq

#请求网站数据request的get()方法可以实现get请求,
#当然也可以用request的post()、put()、dellete()方法实现post、put、delete等请求
html = requests.get('http://lol.kuai8.com/hero/138.html').content.decode('utf-8')
#现在获取了html页面的源码
print (html)

查看状态码:

import requests


#请求网站数据request的get()方法可以实现get请求,
#当然也可以用request的post()、put()、dellete()方法实现post、put、delete等请求
html = requests.get('http://lol.kuai8.com/hero/3.html')
#现在获取了html页面的源码
print (html.status_code)

运行结果(200代表请求成功):

获取别名测试:


import re
#编写正则表达式匹配名字和别名
h1 = '<h1 id="DATAname">暴走萝莉</h1>'
re_name = re.compile('<h1.*DATAname.*>(.*)</h1>')
#用match方法获取DATAname
DATAname = re.match(re_name,h1)
#group()输出完整结果,group(1)输出正则表达式中第一个被()包裹的匹配结果
print(DATAname.group(1))

运行结果:

测试XPath

import requests
import re
from lxml import etree
#请求网站数据request的get()方法可以实现get请求,
#当然也可以用request的post()、put()、dellete()方法实现post、put、delete等请求
html = requests.get('http://lol.kuai8.com/hero/3.html').content.decode('utf-8')
#现在获取了html页面的源码
#调用HTML类进行初始化,构造一个XPath解析对象(etree模块可以自动修正HTML文本)
html_xpath = etree.HTML(html)
result = etree.tostring(html_xpath)
#调用toString()方法输出html代码,但结果是bytes类型,利用decode()方法将其转成str类型
print(result.decode('utf-8'))

这样还是有个中文乱码的问题

所以换种方法(注意:etree.HTMLParse()括号里不加编码集的话中文乱码问题有时也可以解决):

import requests
import re
from lxml import etree
#请求网站数据request的get()方法可以实现get请求,
#当然也可以用request的post()、put()、dellete()方法实现post、put、delete等请求
html = requests.get('http://lol.kuai8.com/hero/3.html').content.decode('utf-8')
#现在获取了html页面的源码
#用etree.parse
html_xpath = etree.parse(html,etree.HTMLParser(encoding='gbk'))
result = etree.tostring(html_xpath)
#调用toString()方法输出html代码,但结果是bytes类型,利用decode()方法将其转成str类型
print(result.decode('utf-8'))

网页结构太复杂了,Xpath好像适合结构简单清晰的网页结构,遂放弃...接下来试试Beautiful Soup

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

尝试爬取LOL英雄技能属性--01 的相关文章

随机推荐

  • KMP算法最浅显理解——一看就明白

    说明 KMP算法看懂了觉得特别简单 思路很简单 看不懂之前 查各种资料 看的稀里糊涂 即使网上最简单的解释 依然看的稀里糊涂 我花了半天时间 争取用最短的篇幅大致搞明白这玩意到底是啥 这里不扯概念 只讲算法过程和代码理解 KMP算法求解什么
  • Artec独立三维(3D)扫描软件

    最新版本 Artec Studio 9 1 中文界面 您是否想将自己的Kinect作为 3D 三维扫描仪来使用呢 ArtecStudio9 1为您提供解决方案 它可以和微软的Kinect 华硕的 Xtion XtionProLive以及其他
  • Uncaught SyntaxError: Unexpected end of input

    Uncaught SyntaxError Unexpected end of input 最近做项目遇到这样一个问题Uncaught SyntaxError Unexpected end of input Unexpected end of
  • mysql有没有flashback_Flashback for MySQL 5.7

    实现原理 flashback的概念最早出现于Oracle数据库 用于快速恢复用户的误操作 flashback for MySQL用于恢复由DML语句引起的误操作 目前不支持DDL语句 例如下面的语句 DELETE FROM XXX UPDA
  • xsync 集群同步工具

    前言 在配置集群时 往往需要将文件拷贝到各个机器 一来二去就很麻烦 我们可以使用 xsync 工具同时进行多台机器同步数据 环境准备 我们准备三台虚拟机 他们的 IP 分别为 192 168 56 2 192 168 56 3 192 16
  • python 日期和时间处理(time,datetime模块讲解)

    在现实生活中 我们常常遇到时间序列任务 所以今天讲解下日期和时间处理 Python 日期时间 datetime 1 获取当前时间 import datetime datetime object datetime datetime now p
  • 颜色的 HSL 表示

  • 【vue】图片加载动画效果

    加载后 一种是图片由浅到深 一种是闪光加载效果消失
  • tmux使用

    tmux使用 需求 ssh链接不稳定 若直接在ssh终端中运行某个长时间的程序 会被中断 使用tmux 即使ssh服务中断 tmux中的程序依旧运行着 常用命令汇总 开启一个tmux页面 tmux 开启一个tmux页面 自定义名字 tmux
  • Flutter Divider

    不设置高度 会在线的top和bottom占据一点空间 Divider thickness 1 h color Color 0xFF3D3D3E 设置height之后就正常了 上下没有间距了 Divider thickness 1 h hei
  • Docker未授权访问漏洞(www.hetianlab.com)

    什么是Docker Docker是一个开源的引擎 可以轻松的为任何应用创建一个轻量级的 可移植的 自给自足的容器 开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署 包括VMs 虚拟机 bare metal OpenStack 集
  • Uncaught TypeError: Cannot Read Property

    这是 JavaScript 开发人员最常遇到的错误 当你读取一个属性或调用一个未定义对象的方法时 Chrome 中就会报出这样的错误 导致这个错误发生的原因有很多 常见的一种情况是在渲染 UI 组件时 不正确地初始化状态 我们来看一个真实的
  • getifaddrs, freeifaddrs manual

    GETIFADDRS 3 Linux Programmer s Manual GETIFADDRS 3 NAME top getifaddrs freeifaddrs get interface addresses SYNOPSIS top
  • Java 结构化数据处理开源库 SPL

    现代Java应用架构越来越强调数据存储和处理分离 以获得更好的可维护性 可扩展性以及可移植性 比如火热的微服务就是一种典型 这种架构通常要求业务逻辑要在Java程序中实现 而不是像传统应用架构中放在数据库中 应用中的业务逻辑大都会涉及结构化
  • 专栏推介:《Hi3861网络编程实验》

    引言 本文是鸿蒙专栏 Hi3861网络编程实验 中的第一篇 从这个专栏的名称不难看出 这里面有三个关键词 鸿蒙 即 鸿蒙操作系统 Hi3861 海思生产的一款处理器 网络编程 也就是说 这个专栏就是带着大家做一些网络编程实验 实验代码是基于
  • FPGA零基础学习之Vivado-UART驱动教程

    FPGA零基础学习之Vivado UART驱动教程 本系列将带来FPGA的系统性学习 从最基本的数字电路基础开始 最详细操作步骤 最直白的言语描述 手把手的 傻瓜式 讲解 让电子 信息 通信类专业学生 初入职场小白及打算进阶提升的职业开发者
  • 测试用例--等价类划分、边界值法

    一 测试用例 案例 test case test instance 1 定义 是在测试执行之前 由测试人员编写的指导测试过程的重要文档 主要包括 用例编号 测试目的 测试步骤 用例描述 预期结果 2 介绍编写测试用例的7种方法 1 等价类划
  • js中常见的错误

    js运行报错 首现我们要先学会查看在哪里查看错误 打开页面点击鼠标右键审查元素 检查 打开控制台 然后根据上面的提示 读取 相关信息 然后读取自己哪里错了 最后寻找相应代码进行修改 1 未定义错误 Uncaught ReferenceErr
  • this指向的一个题

    妈呀啊啊啊啊啊啊啊啊啊啊啊 真的要崩溃 看视频的时候看到了一个this指向的题 想了半个小时 真的被自己蠢到 怎么会有人这么笨啊 function a xx this x xx return this var x a 5 var y a 6
  • 尝试爬取LOL英雄技能属性--01

    首先我们找到一个LOL英雄的全部展示的页面 http lol kuai8 com hero 恕瑞玛 your king has return hah hah金克丝长得不错 点击一下http lol kuai8 com hero 3 html