xpath简单实用

一、xpath 基本语法

  /html
  /html/head/title              绝对路径(一层层的查找)
  /html//title                  相对于当前节点
  //title/./../..       .       当前节点 ..父节点
  ../following-sibling::dd[1]/a 上一级的兄弟节点
  //head/meta/@http-equiv       提取标签属性值
  //title/text()                提取开闭标签之间的文本内容
  /                             隔开的的是节点(除了尾部出现的之外)
 

二、节点修饰语法(使用[]修饰节点,[]跟在节点之后)

 

  1.通过索引进行节点修饰(索引从0开始)

//body/div[3]/div/div[1]/div[position()>10]
//body/div[3]/div/div[1]/div[last()]

  2.通过标签属性与属性值修饰节点

//div[@id="aa_tag_121536487"]
//div[@id]

  3.通过子节点的值修饰当前节点

//span[i>2000]

  4.通过部分包含修饰节点

//div[contains(@id,"aa_tag_")]

  5.通过内容寻找链接(一般用于下一页)

//div[text()="下一页"]/@href

  6.节点的通配使用

//*[contains(text(),"下一")]

  7.xpath语法的并用

path1|xpath2

三、url拼接

In [1]: import urllib
In [2]: a='http://baidu.com?kw=100'
In [3]: b='?abc=123'
In [4]: urllib.parse.urljoin(a,b)
Out[4]: 'http://baidu.com?abc=123'

四、scrapy中url拼接

response.urljoin(node.xpath('uri'))

 

 

转载于:https://www.cnblogs.com/returnes/p/10466710.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值