xpath 是把文档结构看成类似于文件夹的树形结构来进行处理的。
基本的元素表示
/ 根目录
// 任意目录
. 当前目录
.. 选取目录的父目录(可以利用父目录选择同胞目录)
//@
@属性值
* 任何元素
@* 任何属性
举例子
//dl[@class="menu"] ,选择<dl class="menu"></dl>
./dt//text() ,选择当前选择下dt节点之下的文字内容
//ul[@class="news_list"]//@href 选择ul class="news_list"下所有的链接的href值(后面的//@href表示取他的值)
所谓的XPTH“正则”
利用通配符 * node() 和函数 ends-with,starts-with,contains完成简单正则匹配。
//div[@*] 表示所有带有属性的div标签
//node()[starts-with(name(),"addr")] 任意目录下
比如搜索所有含有onlick属性的以look开头的
//*[starts-with(@onclick, "look")] 任意目录下onclick属性值以look开头
注意:
scrapy使用xpath匹配后,虽然还是xpath对象,但是其他内容还是存在的,所有在选择目录是
如果在这个里面选择content,使用./content,而不是/content
网友评论