Xpath基础

版权声明: https://blog.csdn.net/djs123DJS/article/details/83688772

https://www.bilibili.com/video/av19689660/?p=6  视频的链接

Xpath  是一门从html中提取数据的语言:

Xpath的语法:   1.   '/'是选择节点(标签):' /html/head/meta'  :表示的是能够选中html 下的head下的所有的meta 标签

 2.  ‘//’:能够从任意节点开始选择         ‘//li’: 表示的是当前页面上的所有li 标签     '/html/head//link' :表示的是head 下的所有的link标签

head下的子节点和子孙节点的所有的link标签。

3.‘@符号的用法’:  选择具体某个元素  ‘//div[@class='xxx']/ul/li’   选择‘xxx’的div下的ul下的li   那个‘[]’表示的是选中一个区块,然后再在这个区块('xxx')下选择其他的标签。

‘a/@href’  :表示的是选择a的href的值

4.获取文本用‘/a/text()’   :获取a下的文本

‘/a//text()’: 获取a下的所有的文本

从一个节点选到另外一个节点用的是‘/’ ,从根节点选择的时候也是用‘/’ ,  从任意节点选择的话就用‘//’,这个也表示选择全部。

'./'  表示的是当前标签下的   比如table.xpath(".//div")  ,表示的是当前table下的div

Xpath 有很多种选择的,推荐使用谷歌的插件  Xpath  Helper  进行测试,然后拿数据,不用一步一步地定位

用//table  时要注意其他地方也会有相同的table,以此类推。

通过  竖线  | 可以实现表达式的拼接。

使用xpath helper 或者是chorme 中的copy  xpath 都是从element中提取的数据,但是爬虫获取的是url对应的响应,往往和element不一样。在确保爬虫获取url的响应和element一样的时候才可以用这些工具,或者要的数据一样。在后续的爬虫代码里面可能用不到它,要自己用肉眼去看去写。

猜你喜欢

转载自blog.csdn.net/djs123DJS/article/details/83688772