xpath提取含有多个属性值的标签
很多情况下我们在爬虫的时候会遇到,一个标签里一个属性对应多个值,那么如何,但又不想将所有属性值全部写完整,为了方便可以选取其中唯一的值,这里提供xpath支持的语法。
例: 这里有如下标签,我们想提取其中的1
使用(contains方法)
1 | response.xpath('//div[@class="post-adds"]/span[contains(@class, "vote-post-up")]/h10/text()').extract()[0] |
常用CSS选择器用法
表达式 | 说明 |
---|---|
* | 选择所有节点 |
#container | 选择所有id为container的节点 |
.container | 选择所有class为container的节点 |
li a | 选择所有li下的所有a标签 |
ul + p | 选择ul后面的第一个p标签 |
div#container > ul | 选择id为container的div的第一个ul子标签 |
ul ~ p | 选择与ul相邻的所有p标签 |
a[href] | 选择所有有title元素的a标签 |
a[href=”http://baidu.com"] | 选择所有href属性为http://baidu.com的a标签 |
a[href*=”baidu”] | 选择所有href属性里面包含有baidu的a标签 |
a[href^=”http”] | 选择所有href属性以http开头的a标签 |
a[href$=”.png”] | 选择所有href属性以.png结尾的a标签 |
input[type=radio]:checked | 选择选中的radio标签 |
xpath与css选择器获取标签内容
例:
1 | <div class="test"> |
1 | # xpath使用 |
xpath与css选择器获取标签属性
1 | <div class="test"> |
1 | # xpath获取 |