xpath语法
Posted 木东
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xpath语法相关的知识,希望对你有一定的参考价值。
BeautifulSoup 不支持XPath,lxml、Selenium、Scrapy 支持。
在XPath 语法中有四个重要概念。
根节点和非根节点
/div 选择 div 节点,只有当它是文档的根节点时
//div 选择文档中所有的 div 节点(包括非根节点)
通过属性选择节点
//@href 选择带 href 属性的所有节点
//a[@href=\'http://google.com\'] 选择页面中所有指向 Google网站的链接
通过位置选择节点
//a[3] 选择文档中的第三个链接 //table[last()] 选择文档中的最后一个表
//a[position() < 3] 选择文档中的前三个链接
星号(*)匹配任意字符或节点,可以在不同条件下使用
//table/tr/* 选择所有表格行 tr 标签的所有的子节点(这很适合选择 th 和 td 标 签)
//div[@*] 选择带任意属性的所有 div 标签
XPath 语法:https://msdn.microsoft.com/en-us/enus/library/ms256471
# python2.7
from scrapy import Spider from tutorial.items import TutorialItem class TutorialSpider(Spider): name = "a" allowed_domains = ["cnblogs.com"] start_urls = ["https://www.cnblogs.com/"] def parse(self,response): item = TutorialItem() title = response.xpath(\'//*[@id="post_list"]/div[3]/div[2]/h3/a/text()\')[0].extract() print "Title is: " + title item[\'title\'] = title return item
xpath也可以通过下面的方法获取:
以上是关于xpath语法的主要内容,如果未能解决你的问题,请参考以下文章
在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误