02 网页解析语法 Xpath

        一般来说,我们在浏览器输入某个网站的网址,就会展现出一个精致的网页,其实这是经过浏览器的解析过了的,原本的网页文件是html文件来的,里面有着许多标签和文本内容,而我们想要获得的文本内容就在这些标签中,如果我们想要获得网页中需要的文本,就要去定位需要的文本在哪些标签中,并且定位这些标签又在整个网页结构的哪个位置,这样才是我们获取数据的整套流程

语法

提取网页中的核心信息方法有三种:正则、bs4(BeautifulSoup4)、xpath

三种提取语法各有各的好处,这里只用xpath,因为可以搭配我们的谷歌插件xpath-helper使用,其实掌握一种就足够了,多了,反而会弄混乱。

Xpath语法

1 标签路径

 绝对路径(// 为绝对路径)

语法 含义
//div 获取整个网页中的div标签
//a 获取整个网页中的a标签

 相对路径(./为相对路径)

语法 含义
./div 可以理解为获取某个标签中的div标签,这时就可以用相对路径
./a 可以理解为获取某个标签中的div标签,这时就可以用相对路径

2、标签查找

1.通过绝对/相对路径查找标签

语法 含义
//span/span/a 获取整个网页中的span标签下的span标签下的a标签
//li/div/a 获取整个网页中的li标签下的div标签下的a标签

2.查找属性,有时我们需要筛选特定的标签

格式:

标签名[@属性名=属性值]

比如:

语法 含义
//a[@class="j_th_tit"] 获取整个网页中的class属性值为j_th_tit的a标签
//span/a[@class="frsauthor"] 获取整个网页中的span标签下的class属性值为j_th_tit的a标签

3、读取标签中的属性值

格式:

标签名/@属性名

比如(a链接的href属性,img图片的src属性):

语法 含义
//a[@class="j_th_tit"]/@href 获取整个网页中的class属性值为j_th_tit的a标签的href属性值
//img/@src 获取整个网页中的img标签的src属性值

4、获取内容

有时我们想要获取的数据不在标签的属性值中,而是在标签之间,比如:<div>Hello Word</div>

格式:

标签名/text()

比如:

语法 含义
//a/text() 获取整个网页中的a标签之间的内容

猜你喜欢

转载自blog.csdn.net/m0_55868614/article/details/121160152