xpath解析数据的方法
1 功能描述
2 1.实例化一个etree对象,且需要将被解析的页面源码数据加载到该对象中
3 2.调用etree对象中的XPath表达式实现标签的定位和内容捕获
4 3.环境安装 pip install lxml
5 实例化一个etree对象方法有
6 1.将本地的html文档的源码数据加载到etree对象中
7 etree.parse(filepath)
8 2.也可以将互联网上的获取的源代码数据加载到该数据中
9 etree.HTML(’page_text‘)
10 xpath的解析函数
11
12 '''
13 import requests
14 from lxml import etree
15 # 新版导入方式
16 # from lxml import html
17 tree = etree.HTML(’page_text‘)
18 #定位到div标签,//表示多个层级
19 r1 = tree.xpath('//div')
20 #属性定位
21 r2 = tree.xpath('//div[@class="song]')
22 #索引定位,定位到div下的第三个p标签
23 r3 = tree.xpath('//div[@class="song]/p[3]')
24 # 取文本方法或属性,/text(),只能取直系标签的文本
25 r4 = tree.xpath('//div[@class="song]//li[5]/p/text()') #
26 # 取文本方法或属性,//text(),能取该标签下所有本文,包括非直系的标签都可以获取
27 r5 = tree.xpath('//div[@class="song]//li[5]/p//text()')
28 # 取标签的属性,/@attrname。例如/img/@src,返回该标签的属性值,即图片地址
29 r5 = tree.xpath('//div[@class="song]/img/@src')
xpath解析数据的方法的更多相关文章
- 爬虫系列二(数据清洗--->xpath解析数据)
一 xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML 文档中进行导航 XPath 包 ...
- xpath解析数据
xpath解析数据 """ xpath 也是一种用于解析xml文档数据的方式 xml path w3c xpath搜索用法 在 XPath 中,有七种类型的节点:元素.属 ...
- iOS 抓取 HTML ,CSS XPath 解析数据
以前我们获取数据的方式都是使用 AFN 来 Get JSON 数据,比如 点我查看 JSON 数据.http://news-at.zhihu.com/api/4/news/latest 但例如下面的百 ...
- 解析数据(正则,xpath)
正则表达式拆分 import re # 1.拆分字符串 one = 'asdsfsgsh' # 标准 是 s 为拆分 pattern = re.compile('s') result = patter ...
- 数据的查找和提取[2]——xpath解析库的使用
xpath解析库的使用 在上一节,我们介绍了正则表达式的使用,但是当我们提取数据的限制条件增多的时候,正则表达式会变的十分的复杂,出一丁点错就提取不出来东西了.但python已经为我们提供了许多用于解 ...
- 用jquery解析JSON数据的方法以及字符串转换成json的3种方法
用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是 json对象,这里考虑的都是服务器返回JSON形式的字符串的形式,对于利用JSONObject ...
- 万方数据知识平台 TFHpple +Xpath解析
试了一下.基本上适合全部的检索结果. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loadi ...
- QT使用QJson生成解析Json数据的方法
QT中使用json还是比较方便的,下面用例子直接说明 举例子之前首先推荐一个在线解析json格式的网站,具体格式用法如下图所示: 之后根据这个格式进行json数据解析. QT使用json需要包含的头文 ...
- Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- python爬虫使用xpath解析页面和提取数据
XPath解析页面和提取数据 一.简介 关注公众号"轻松学编程"了解更多. XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.X ...
随机推荐
- AI之强化学习、无监督学习、半监督学习和对抗学习
1.强化学习 @ 目录 1.强化学习 1.1 强化学习原理 1.2 强化学习与监督学习 2.无监督学习 3.半监督学习 4.对抗学习 强化学习(英语:Reinforcement Learning,简称 ...
- NLP之基于Seq2Seq的单词翻译
Seq2Seq 目录 Seq2Seq 1.理论 1.1 基本概念 1.2 模型结构 1.2.1 Encoder 1.2.2 Decoder 1.3 特殊字符 2.实验 2.1 实验步骤 2.2 算法模 ...
- python信息检索实验之向量空间模型与布尔检索
import numpy as np import pandas as pd import math def bool_retrieval(string): if string.count('and' ...
- 7.pyagem-游戏背景
背景交替滚动 游戏启动后,背景图像不断的向下移动 在视觉上产生角色不断向上移动的错觉 游戏背景不断变化,游戏主角的位置报错不变 实现方案 创建两张背景图 第一张完全和屏幕重合,第二章在屏幕的正上方 ...
- php注解使用示例
今天看到php注解的介绍文章很感兴趣,动手实际试了试挺好玩,写这篇文章记录下 php从8开始支持原生注解功能了,我们可以写个小的例子看看注解怎么玩. 先确定我们的任务目标 1.编写一个注解类rou ...
- 抓包分析 TCP 握手和挥手
前言 首先需要明确的是 TCP 是一个可靠传输协议,它的所有特点最终都是为了这个可靠传输服务.在网上看到过很多文章讲 TCP 连接的三次握手和断开连接的四次挥手,但是都太过于理论,看完感觉总是似懂非懂 ...
- jmeter接口自动化-通过csv文件读取用例并执行测试
最近在公司测试中经常使用jmeter这个工具进行接口自动化,简单记录下~ 一.在csv文件中编写好用例 首先在csv文件首行填写相关参数(可根据具体情况而定)并编写测试用例.脚本可通过优先级参数控制执 ...
- SpringBoot 06: springboot中使用redis
配置SpringBoot 创建SpringBoot项目时勾选Redis起步依赖 <dependency> <groupId>org.springframework.boot&l ...
- Go语言核心36讲15---结构体
我们都知道,结构体类型表示的是实实在在的数据结构.一个结构体类型可以包含若干个字段,每个字段通常都需要有确切的名字和类型. 前导内容:结构体类型基础知识 当然了,结构体类型也可以不包含任何字段,这样并 ...
- go如何编写命令行(cli)程序
创建一个命令行程序 问题 如何使用golang创建可以在命令行当中传递参数的程序?go如何带参数执行程序? 比如我们期望使用hello -version来查看hello程序的版本号码.或者输入hell ...