Python爬虫网页解析神器Xpath快速入门教学!!!

文章目录

    • 1、Xpath介绍
    • 2、Xpath路径表达式
    • 3、结合实例讲解
    • CSDN独家福利降临!!!


1、Xpath介绍

     XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。


2、Xpath路径表达式

表达式 描述
nodename 选取此节点的所有子节点。
/ 从根节点选取。
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
. 选取当前节点
.. 选取当前节点的父节点
@ 选取属性

3、结合实例讲解

这里我就是使用百度的界面为大家进行讲解

Python爬虫网页解析神器Xpath快速入门教学!!!_第1张图片

:我想获取图中的百度热榜,打开控制台,我们可直接根据div标签的class值进行定位(这是我们平时使用xpath语法比较多的地方)
Python爬虫网页解析神器Xpath快速入门教学!!!_第2张图片

from lxml import etree
import requests


headers = {
     
    "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36"
}
url = "https://www.baidu.com/"
response = requests.get(url=url,headers=headers)
#使用etree进行解析
data = etree.HTML(response.text)

#可参考上表格进行对比,//div可理解为任意路径下的一个div标签,@class表示选取class属性,text()表示获取text文本
name = data.xpath("//div[@class='title-text c-font-medium c-color-t']/text()")
print(name[0])

Python爬虫网页解析神器Xpath快速入门教学!!!_第3张图片

:我想获取热榜有哪些信息,参考下图可见其全部在ul标签下,每一个信息对于一个li标签

Python爬虫网页解析神器Xpath快速入门教学!!!_第4张图片

data = etree.HTML(response.text)
#//ul表示任意路径下的ul标签,
#表示获取ul下的所有li标签
ul = data.xpath("//ul[@class='s-hotsearch-content']/li")
#当然,大家在爬取过程中可能会遇到没有class属性的标签,这时可使用id定位,又或者定位其父标签,再往下找
#ul = data.xpath("//ul[@id='hotsearch-content-wrapper']/li")

#遍历
for li in ul:
	# .//span表示当前节点下的任意span标签,我们再根据class值定位,使用text()获取文本信息
    name = li.xpath(".//span[@class='title-content-title']/text()")
    print(name[0])

Python爬虫网页解析神器Xpath快速入门教学!!!_第5张图片

:定位百度热榜找它的父节点也就是a标签的href属性
Python爬虫网页解析神器Xpath快速入门教学!!!_第6张图片

data = etree.HTML(response.text)

#..表示其父节点
url = data.xpath("//div[@class='title-text c-font-medium c-color-t']/../@href")
print(url[0])

Python爬虫网页解析神器Xpath快速入门教学!!!_第7张图片

Xpath语法其实不难的,大家需要多练习,进行实战,这样熟练掌握会很快的,可以下方的爬虫教程索引,里面有很多爬虫使用xpath写的,可以阅读看看。



CSDN独家福利降临!!!


最近CSDN有个独家出品的活动,也就是下面的《Python的全栈知识图谱》,路线规划的非常详细,尺寸 是870mm x 560mm 小伙伴们可以按照上面的流程进行系统的学习,不要像我当初一样没人带自己随便找本书乱学,系统的有规律的学习,它的基础才是最扎实的,在我们这行,《基础不牢,地动山摇》尤其明显。

最后,如果有兴趣的小伙伴们可以酌情购买,为未来铺好道路!!!


博主会持续更新,有兴趣的小伙伴可以点赞、关注和收藏下哦,你们的支持就是我创作最大的动力!

更多博主开源爬虫教程目录索引(宝藏教程,你值得拥有!)

在这里插入图片描述

你可能感兴趣的:(#,Python爬虫,定位,python,xpath,html)