目录
1.HTML网页基础
2. 安装XPath
2.1 pip install lxml
2.2 PyCharm
3. XPath基本语法
4. 一键教你学会使用XPath
XPath是一种在XML文档中查找信息的语言,可以使用它在HTML源代码文档中通过元素、属性等方式进行查找和提取数据。
1.HTML网页基础
HTML是用来描述网页的一种语言,其全称为Hyper Text Markup Language(超文本标记语言),这里首先要声明一点,HTML不是一种编程语言,而是一种标记语言。
我们打开百度浏览器认识一下网页结构:
可以看到内容是非常多的,毕竟百度浏览器是非常强大的。下面让我们简单了解一下基本结构:
在PyCharm中新建一个html文件:
#声明为HTML文档
#根元素
#文档数据存储,一般不会显示在网页上(不可见)
#声明网页编码格式
Title #文档标题
#定义页面可见内容
当我在
#定义页面可见内容
添加一些内容时
例如:
WHJ226
PYTHON入门
| 表头 1 | 表头 2 |
|---|---|
| 第一行第一列存放的数据 | 第一行第二列存放的数据 |
| 第二行第一列存放的数据 | 第二行第二列存放的数据 |
选择浏览器打开网页:
效果如下:
都是我们存放的可见内容
2. 安装XPath
XPath是依附在lxml库里面的,需要安装lxml库。安装命令如下:
2.1 pip install lxml
2.2 PyCharm
3. XPath基本语法
3. XPath基本语法
XPath的基本原理是使用路径表达式来提取HTML文档中的元素或元素集,然后元素是通过沿着路径来选取数据的。
| 表达式 | 描述 |
| div | 选取div元素的所有子元素 |
| /div | 选取根元素div |
| ul//li | 选取ul元素下的所有li元素,不管他们在文档中的任何位置 |
| //@class | 选取所有具有class属性的元素 |
| ul/li[1] | 选取ul元素下第一个li元素 |
| //div[@id='t2'] | 选取id属性为t2的所有div元素 |
| //li[@class='item-1'] | 选取class属性为item-1的所有li元素 |
| /div/ul/li[@class='item-1'] | 选取根元素div下ul元素下class属性为item-1的li元素 |
但是问题来了,即使使用XPath匹配到了元素后,如果需要提取元素中的文本内容、连接等,需要如何做呢?例如:
from lxml import etree
html="""
WHJ226
PYTHON入门
| 表头 1 | 表头 2 |
|---|---|
| 第一行第一列存放的数据 | 第一行第二列存放的数据 |
| 第二行第一列存放的数据 | 第二行第二列存放的数据 |
运行结果如下:
[] ['爬虫入门(2)——requests(2)的博文链接'] ['https://blog.csdn.net/WHJ226/article/details/125072099']
4. 一键教你学会使用XPath
大家学习爬虫入门的话其实没必要纠结我该怎么会写XPath路径来获取信息和数据呢,其实完全没必要,我们只要看得懂就行,其他就交给复制粘贴键来进行操作:
例如:
所以大家只要记得我表格里面列出来的表达式是什么意思,学会复制粘贴就行,其他使用XPath匹配数据和信息的方法就没必要掌握了(只代表个人见解,如果个人会写XPath还是非常牛掰的!)。



