网页解析工具(pyqury,RE,jsonpath,BS4,xpath,)

本文介绍了如何使用PyQuery、BeautifulSoup(BS4)和XPath在Python中进行HTML和XML文档的DOM操作,包括各种方法如选择器、属性获取、文本处理和节点操作,以及正则表达式和jsonpath的相关应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

pyquery

 

 doc方法(就是直接找)

 

导入文件类型 

 

 

css选择器 

 

 

 

find方法 (所有节点)

chindren(子节点) 

 

 

 

parents(父节点) 

 

 找哪一个父节点

 siblings(兄弟节点)

 找哪一个兄弟节点 

 

attr(里面填属性名)获取属性 

 

text()获取文本 

 

html()方法获取文本 

 

节点的删除和增加 removeClass/addclass

 

 

 remove()移除

 

 

 

RE

在线测试网址:在线正则表达式测试

 match方法(多用来判断)

  

 group,span方法

 

 

 点星的含义

 

 

 贪婪和非贪婪

 

 

 修饰符号

 

 findall方法(提取多个)

 

sub方法(替换/去除)

(替换成什么或者直接为空就是去掉) 

 

 

jsonpath

pip install jsonpath   导入模块
# 字典查值得正常写法
# print(dic.get("videoInfo").get('srcUrl'))
传入对象然后匹配
# print(jsonpath.jsonpath(dic, '$..video_image')[0])    
# 匹配下一级标签(子集)
# print(jsonpath.jsonpath(dic, '$..videoInfo.srcUrl')[0])

BS4

pip install beautifulsoup4

bs4用法

from bs4 import BeautifulSoup

# bs4的操作对象
soup = BeautifulSoup(html_data, 'lxml')
# 查询出该对象中第一个a标签
# print(soup.a.text,type(soup.a.text))
# print(soup.a.string,type(soup.a.string))  # 鸭子类型
# print(str(soup.a.string),type(str(soup.a.string))) # dir()

# 字典的查询keys  dict_keys([name,age])  values  dict_values([])

# 子代标签
# body = soup.body
# print(list(body.children))  # 得到的是一个迭代器
# print(body.contents) # 得到的是整个数据

# css 选择器
# 根据标签名字获取所有的元素
# print(soup.select('a'))
# print(soup.select('span > a'))

xpath

用的时候要用页面解析器

from lxml import etree

page = etree.HTML(html_data)

print(page.xpath('//div/span/text()'))
print(page.xpath('//a/text()'))
print(page.xpath('.//span[@class="attrs"]/a/text()'))
XPath 使用路径表达式在 XML/HTML 文档中选取节点。节点是通过沿着路
径或者 step 来选取的
谓语用来查找某个或某些特定的节点或者包含某个指定值的节点
谓语被嵌在方括号中。在下面的表格中,我们列出了带有谓语的一些路径
表达式,以及表达式的结果。实例 :

选取未知节点

XPath 通配符可用来选取未知节点

选取多个路径
通过在路径表达式中使用 "|" 运算符,您可以选取若干个路径。在下面的表
格中,列出了一些路径表达式,以及这些表达式的结果:
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值