xpath解析html
xpath是通用的,爬虫必备
- xpath使用路径表达式在xml和html中进行导航
- xpath包含标准函数库
- xpath是w3c的一个标准,脱离语言而存在的
xpath语法
表达式 | 说明 |
article | 选取所有article元素的所有子节点 |
/article | 选取根元素article |
article/a | 选取所有article的子元素的a元素 |
//div | 选取所有div子元素(无论出现在文档任何地方) |
article//div | 选取所有属于article元素的后带的div元素,不管它出现在article下的任何位置 |
//@class | 选取所有名为class属性的元素 |
css选择器
表达式 | 说明 |
* | 选择所有节点 |
#container | 选择id为container的节点 |
.container | 选择所有class包含为container的节点 |
li a | 选取所有li下的所有a节点 |
ul + p | 选择ul后面的第一个p元素 |
div#container>ul | 选取id为container的div的ul子元素 |
p~ul | 选择前面有元素的每个元素 |
a[title] | 选取所有有title属性的a元素 |
a[href="https://jobbole.com"] | 选取href属性为https://jobbole.com的所有a元素 |
a[href*="jobbole"] | 选取所有href属性包含jobbole的a元素 |
a[href^="http"] | 选取所有href属性以http开头的a元素 |
a[href$=".jpg"] | 选取所有href属性以.jpg结尾的a元素 |
input[type=radio]:checked | 选取选中的radio的元素 |
div:not(#container) | 选取所有id非container的div元素 |
li:nth-child(3) | 选取第三个li元素 |
tr:nth-child(2n) | 第偶数个tr |