XPath的使用

前言

Python爬虫框架-scrapy基础之XPath

什么是xml

xml: 用来存储和传输数据使用的
与html的区别:

  • html用来显示数据,xml用来传输数据
  • html标签固定,xml标签可自定义

什么是XPath

XPath: 用来在xml中查找指定的元素,是一种路径表达式
常用的路径表达式:

  • /: 从根节点选取
  • //: 不考虑位置(若多人匹配则多选)
  • ./:从当前节点往下找
  • @: 选择属性

XPath的使用

  • 属性定位: 如id为1的输入框 //input[@id=”1”]
  • 层级定位: 如有多个id为1的输入框,往其上一级确认定位
  • 模糊匹配:

    contains //input[contains(@id, “1”)] 所有id含1的输入框
    starts-with //input[starts-witg(@id, “1”)] 所有id以1开头的输入框

  • 逻辑运算: 单一个元素无法确定,使用多个条件 如 //input[@id=”1” and class = “input”]
  • 取文本: text()取文本内容 //div[@id=”i”]/a/text()
  • 取属性:@+属性 //div[@id=”i”]/a/@src 取出src的链接属性

XPath验证神器之XPath Helper Wizard

在谷歌浏览器上下载XPath Helper Wizard插件,按Shift+Ctrl+X启用/关闭插件,在QUERY输入框内输入XPath代码,RESULTS框内出现文本以及页面相应内容变色,从而验证准确性。
举个栗子:本博客的分类页面的分类文本
栗子

lewulu!
-------------The End-------------
0%