天空闲话 发表于 2024-9-2 20:12:37

Python爬虫02

https://i-blog.csdnimg.cn/direct/c915cdbfc19b436aa8838872beb9d3f4.jpeg
xml 和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]
查看完整版本: Python爬虫02