当前位置:网站首页>requests之数据解析Xpath介绍
requests之数据解析Xpath介绍
2022-08-09 08:06:00 【星星本来就很美】
聚焦爬虫: 爬取页面中指定的页面信息
- 指定url
- 发起请求
- 获取响应数据
- 数据解析
- 持久化存储
数据解析原理概述:
- 解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储
- 1.进行指定标签的定位
- 2.标签或者标签对应的属性中存储的数据值进行提取(解析)
数据解析分类:
- 正则
- bs4
- xpath
下面两种方式用的比较多
Xpath解析
xpath 解析原理:
- 1.实例化一个etree的对象,且需要将被解析的页面源码数据加载到该对象中
- 2.调用etree对象中的xpath方法结合着xpath表达式实现标签的定位和内容的捕获
环境安装:
- pip install lxml
实例化一个etree对象:
1.将本地html文档中的源码数据加载到etree对象中:
- etree.parse(filePath)
2.可以将从互联网上获取的源码数据加载到该对象中
- etree.HTML('page_text')
3.xpath('xpath表达式')
- /: 表示是从根节开始定位,表示的是一个层级
- //: 表示的是多个层级,可以表示从任意位置开始定位
- 属性定位: //div[@class='song'] tag[@attrName = "attrValue"]
- 索引定位: //div[@class="song"]/p[3] 索引是从1开始的
- 取文本:
- /text() 获取标签中直系的文本内容 ('//div[@class="tang"]//li[5]/a/text()')[0]
- //text() 标签中非直系的文本内容(所有文本内容)
- 取属性:
/@attrName ==> /img/@src
边栏推荐
猜你喜欢
3D精彩案例,清软英泰建成综合轻量化显示平台!
6000 字+,帮你搞懂互联网架构演变历程!
正则之re模块
Object detection app based on appinventor and EasyDL object detection API
浅谈Endpoint
IO byte stream reads text Chinese garbled
Web 3D渲染引擎HOOPS Communicator动画编辑器的使用 | HOOPS教程
VRRP原理及配置
【MySQL】mysql:解决[Err] 1093 - You can‘t specify target table ‘表名‘ for update in FROM clause问题
Introduction to Network Layer Protocols
随机推荐
磁盘管理与挂载
Non-decreasing Array
Programming a washing machine: garbled characters after string output
6000 字+,帮你搞懂互联网架构演变历程!
Introduction to Network Layer Protocols
Shell之函数与数组
IO字节流读取文本中文乱码
VMware虚拟机强制关闭后,无法联网
3D软件开发工具HOOPS全套产品开发介绍 | HOOPS Exchange、HOOPS Communicator
网络布线及数制转换
CUDA和cuDNN 安装10.0版本
9.进程和计划任务管理(1)
SOLIDWORKS 2022新功能直播揭秘!速来围观!
系统安全及应用
三层交换机原理及配置
浅谈Flask_script
test process
网络层协议介绍
App测试
Analysis that may result in a savecount of 0 in Loadrunner checkpoints