1.什么是Xpath
1.概念:XPath(XML Path Language):XML路径语言,用来确定XML文档中某部分位置的语言
2.如何使用首先我们需要去Python库里进行下载在终端(按住wid+r然后会有一个输入框在里面输入cmd就会进入终端)然后输入下面的代码就好了
pip install lxml
下载这个吧代表这个就可以用了还有一个爬网页的库叫requests_html也是到终端去下载
pip install requests_html
下载好后可以运行一下
import requests_htmlsession = requests_html.HTMLSession()resp = session.get('https://www.vcg.com/creative-image/dongwu/') r = resp.html print(r)
如果还进行了报错估计就是还少一个插件去终端进行下载就好了
pip install lxml_html_clean
然后在运行就好了就会出现
<HTML url='https://www.vcg.com/creative-image/dongwu/'>
就说明安装好了
2.Xpath的基本操作其实可以去他的官方文档去看的
https://zhuanlan.zhihu.com/p/376399749
2.Xpath的简单介绍使用
1.Xpath规则:
nodeName——————————————选取此节点的所有子节点
/——————————————————从当前节点选择直接子节点
//———————————————————从当前节点选择子孙节点
.————————————————————————选择当前节点
..————————————————————选取当前节点的父节点
@——————————————————————————选取属性
2.Xpath基础使用:
①. 网页初始化 html = etree.HTML(“网页源码”)
②. 使用html.xpath()方法进行解析
3.简单的案列快速了解
根据标签获取————eg:html.xpath("//li/a")————从li这个节点下面找到a标签这个链接
根据属性获取——eg:html.xpath("//li[@class='item-3']")——从li这个节点上面去早带有class='item-3'这个属性
获取属性的值——eg:html.xpath("//a[@href='https://hao.360.cn/?a1004']/../@class")——从a这个节点上面找带有href='https://hao.360.cn/?a1004'这个属性的a链接属性附近找带有class属性的标签
获得文本信息——eg:html.xpath("//li/a/text()")——从il这个节点下面找到a节点然后拿到a连接的文本内容
3.高级使用:
匹配属性以XXX开头的标签——eg:xpath("//li[starts-with(@class,'item-')]/a/text()")
属性多个值匹配—— eg:html.xpath("//li[contains(@class,'one')]/a/text()")——
—— eg:html.xpath("//li[@class='item-1']") ——————class = "item-1 one"
多属性匹配——eg:html.xpath("//li[contains(@class,'two') and @name='first']/a/text()")
根据顺序选择:
eg:html.xpath("//li[2]/a/text()")
eg:html.xpath("//li[last()]/a/text()")
eg:html.xpath("//li[last()-1]/a/text()")
eg:html.xpath("//li[position()<=3]/a/text()")
这只是最基础的介绍