XPath
XPath,全程XML Path Language,是一门在XML文档中查找信息的语言,也适用于HTML文档的搜索
XPath用法 lxml库用法
概览
常用规则
表达式 | 描述 |
---|---|
nodename | 选取此节点的所有子节点 |
/ | 从当前节点选取直接子节点 |
// | 从当前节点选取子孙节点 |
. | 选取当前节点 |
.. | 选取当前节点的父节点 |
@ | 选取属性 |
运算符以及介绍
运算符 | 描述 | 实例 | 返回值 | ||
---|---|---|---|---|---|
or | 或 | ||||
and | 与 | ||||
mod | 取余 | ||||
\ | 计算两个节点集 | //book \ | //cd | 返回所有拥有book和cd元素的节点集 | |
+ | 加法 | ||||
- | 减法 | ||||
* | 乘法 | ||||
div | 除法 | ||||
= | 等于 | ||||
!= | 不等于 | ||||
< | 小于 | ||||
> | 大于 | ||||
>= | 大于等于 | ||||
<= | 小于等 |
Beautiful soup
Beautiful Soup就是Python的一个HTML或XML的解析库
解析器
Beautiful soup在解析时实际上依赖解析库,支持的解析库如下
解析器 | 使用的方法 | 优势 | 劣势 |
---|---|---|---|
Python标准库 | BeautifulSoup(markup,”html.parser”) | Python内置标准库,执行速度适中,文档容错能力强 | Python2.7.3以及3.2.2之前的版本文档容错能力差 |
lxml html解析器 | BeautifulSoup(markup,”lxml”) | 速度快,文档容错能力强 | 需要c语言库 |
lxml xml解析器 | BeautifulSoup(markup,”xml”) | 速度快,唯一支持xml的解析器 | 需要c语言库 |
html5lib | BeautifulSoup(markup,”html5lib”) | 最好的容错性、以浏览器的方式解析文档、生成html5格式的文档 | 速度慢、不依赖扩展 |
puquery
获取元素方式和jquery类似
参考资料
崔庆才大佬的《python3网络爬虫开发实战》