IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 8.3.1、Python__Xpath解析数据安装lxml,xpath解析文件,解析本地文件,xpath基本语法 -> 正文阅读

[Python知识库]8.3.1、Python__Xpath解析数据安装lxml,xpath解析文件,解析本地文件,xpath基本语法

1、安装

pip insatll lxml
from lxml import etree

2、xpath解析文件

#(1)本地文件    etree.parse
#(2)服务器相应数据 response.read().decode('utf-8') etree.HTML()
##############数据如下
<ul>
    <li id="12" clazz = 15>北京</li>
    <li>上海</li>
    <li>武汉</li>
</ul>

3、解析本地文件

#xpath解析本地文件
tree = etree.parse('demo10pachong.html')
print(tree)

4、xpath基本语法

(1)路径查询(查看html文件中标签,层层深入)

  	//子孙节点
    	/子节
#tree.xpath('xpath路径')
li_list = tree.xpath('//body/ul/li')
print(li_list)
print(len(li_list))

(2)谓词查询,属性查询,模糊查询,内容查询

#查看包含id标签的
li_list2 =tree.xpath('//ul/li[@id]/text()')	#text是为了获取里面数据的
li_list2 =tree.xpath('//ul/li[@id="12"]/text()')	#获取id=12的		谓词查询
li_list2 =tree.xpath('//ul/li[@id="12"]/@class')	#获取id=12的,clazz的值	属性查询
print(li_list2)

#id中包含li的标签,模糊查询
li_list3 = tree.xpath('//ul/li[contains(@id,"l")]/text()')
print(li_list3)
d
#查询以l开头的标签,内容查询
li_list4 = tree.xpath('//ul/li[starts-with(@id,"l")]/text()')
print(li_list4)

5、解析

#1、获取网络源码
#2、解析hxml文件
#3、打印输出

from lxml import etree
import urllib.request
from fake_headers import Headers

#请求的url
url = "https://www.baidu.com/"

#请求头
header =Headers(
    browser='chrome',
    os = 'win',
    headers=True
)
#请求对象的定制
request = urllib.request.Request(url=url,headers=header.generate())

#模拟浏览器访问服务器
res = urllib.request.urlopen(request)

#获取网页源码
content = res.read().decode('utf-8')
print(content)

#解析网页源码,来获取数据
#解析服务器响应的文件
tree = etree.HTML(content)
# #获取数据
result = tree.xpath('//input[@id="su"]/@value')[0]
print(result)
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-11-09 19:26:19  更:2021-11-09 19:26:53 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 23:34:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码