栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

爬虫(3)——XPath学习

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

爬虫(3)——XPath学习

目录

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
第一行第一列存放的数据 第一行第二列存放的数据
第二行第一列存放的数据 第二行第二列存放的数据
爬虫入门 PYTHON编程基础 爬虫入门(2)——requests(2)的博文链接 requests

选择浏览器打开网页:

效果如下:

都是我们存放的可见内容

 2. 安装XPath

XPath是依附在lxml库里面的,需要安装lxml库。安装命令如下:

2.1 pip install lxml

2.2 PyCharm

3.  XPath基本语法

XPath的基本原理是使用路径表达式来提取HTML文档中的元素或元素集,然后元素是通过沿着路径来选取数据的。

XPath常用语法格式
表达式描述
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
第一行第一列存放的数据 第一行第二列存放的数据
第二行第一列存放的数据 第二行第二列存放的数据
爬虫入门 PYTHON编程基础 爬虫入门(2)——requests(2)的博文链接 requests """ tree = etree.HTML(html) result1 = tree.xpath("/html/body/a") result2 = tree.xpath("/html/body/a/text()") result3 = tree.xpath("/html/body/a/@href") print(result1) print(result2) print(result3)

运行结果如下:

[]
['爬虫入门(2)——requests(2)的博文链接']
['https://blog.csdn.net/WHJ226/article/details/125072099']

4. 一键教你学会使用XPath

大家学习爬虫入门的话其实没必要纠结我该怎么会写XPath路径来获取信息和数据呢,其实完全没必要,我们只要看得懂就行,其他就交给复制粘贴键来进行操作:

例如:

 所以大家只要记得我表格里面列出来的表达式是什么意思,学会复制粘贴就行,其他使用XPath匹配数据和信息的方法就没必要掌握了(只代表个人见解,如果个人会写XPath还是非常牛掰的!)。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/942154.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号