Python爬虫02
https://i-blog.csdnimg.cn/direct/c915cdbfc19b436aa8838872beb9d3f4.jpegxml 和html 区别
https://i-blog.csdnimg.cn/direct/818186b037c54e42bfbaa0c33ce35f42.jpeg
jsonpath模块
[*] 场景
多层嵌套的复杂字典直接提取数据
[*] 安装
pip install jsonpath
[*]使用
from jsonpath import jsonpath
ret = jsonpath(dict, 'jaonpath语法规则字符串')
[*]语法规则
https://i-blog.csdnimg.cn/direct/74f9dc010ae545cf9e61b451f7ad0880.jpeg
eg:
https://i-blog.csdnimg.cn/direct/5309adade521425eafbde67d2e7db280.jpeg
lxml模块&xpath语法
[*]谷歌欣赏器 xpath helper 插件
作用
对当前页面测试xpath语法规则
[*]xpath 语法
1.底子语法
https://i-blog.csdnimg.cn/direct/5b6d9ede29fa4dbcaef3470f0bc9f059.jpeg
/html/head/title 绝对路径
/html//title. 相对路径
//title 相对于整个html文档
//title/. 当前节点
//title/./../..父节点
2.选取特定节点的语法
可以根据标签的属性值,下标等来获取特定的节点
https://i-blog.csdnimg.cn/direct/28a1e3c03b33497ba12737ec7171ec87.jpeg
节点修饰语法
1.通过索引修饰节点
/html/body/div/div/div/div
/html/body/div/div/div/div
/html/body/div/div/div/div. 选中最后一个
/html/body/div/div/div/div. 选中倒数第二个
/html/body/div/div/div/div. 范围选择
2.通过属性值修饰节点
//div[@id='content-left']/div/@id
出现在[]中的@是使用标签属性名和属性值修饰节点
3.通过子节点的值修饰节点
//span
//div>=9.4]
4.通过包含修饰
//div
//span
(xpath中,第一个元素的位置是1)
3.选取未知节点的语法
https://i-blog.csdnimg.cn/direct/d0606f7a739b413fb4a12976af6196fb.jpeg
lxml使用
[*]安装
pip install lxml
[*]使用
1.导入lxml的etree库
from lxml import etree
2.利用etree.HTML,将html字符串(bytes|str)转化为Element对象,Element对象具有xpath的方法,返回结果的列表
html = etree.HTML(text)
ret_list = html.xpath("xpath语法规则字符串")
3.xpath方法返回列表的三种情况
返回空列表
返回有字符串构成的列表
返回由Element对象构成的列表
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]