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
通配符可用来选取未知节点

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