商务服务
黄页88网站关键词怎么做/seo优化诊断工具
2024-12-29 09:50

人生苦短,我用 Python

黄页88网站关键词怎么做/seo优化诊断工具

前文传送门

小白学 Python 爬虫(1):开篇

小白学 Python 爬虫(2):前置准备(一)基本类库的安装

小白学 Python 爬虫(3):前置准备(二)Linux基础入门

小白学 Python 爬虫(4):前置准备(三)Docker基础入门

小白学 Python 爬虫(5):前置准备(四)数据库基础

小白学 Python 爬虫(6):前置准备(五)爬虫框架的安装

小白学 Python 爬虫(7):HTTP 基础

小白学 Python 爬虫(8):网页基础

小白学 Python 爬虫(9):爬虫基础

小白学 Python 爬虫(10):Session 和 cookies

小白学 Python 爬虫(11):urllib 基础使用(一)

小白学 Python 爬虫(12):urllib 基础使用(二)

小白学 Python 爬虫(13):urllib 基础使用(三)

小白学 Python 爬虫(14):urllib 基础使用(四)

小白学 Python 爬虫(15):urllib 基础使用(五)

小白学 Python 爬虫(16):urllib 实战之爬取妹子图

小白学 Python 爬虫(17):Requests 基础使用

小白学 Python 爬虫(18):Requests 进阶操作

前面两篇我们介绍了 Requests 的使用,原本是想再来一个实战的,正准备搞事情的时候想起来上次实战还给自己挖了一个坑, Xpath 还没介绍,还是乖乖的先介绍解析库吧。

XPath ,全称 XML Path Language ,即 XML 路径语言,它是一门在 XML 文档中查找信息的语言。它最初是用来搜寻 XML 文档的,但是它同样适用于 HTML 文档的搜索。

首先,还是敬上 Xpath 的官方网站:https://www.w3.org/TR/xpath/all/ 。

其次,再敬上两个还不错的学习地址

w3school:https://www.w3school.com.cn/xpath/index.asp

菜鸟教程:https://www.runoob.com/xpath/xpath-tutorial.html

下面列出了最有用的路径表达式

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

注意,在使用 Xpath 之前,需要先确保安装好 lxml 库,如果没有安装,可以参考前面的前置准备进行安装。

首先需要引入 lxml 库的 etree 模块,接着引入 Requests 模块,小编这里直接以自己的博客站用作示例。

结果如下

可以看到结果是成功爬取,这里我们首先使用 requests 获取首页的源代码 byte 数据流,接着使用 decode() 进行解码,解码后将字符串传入 etree.HTML() 构建了一个 lxml.etree._Element 对象,接着我们对这个对象做了 tostring() 转换字符串并且进行打印。

注意: 这里使用 tostring() 进行转化字符串的时候,一定需要添加参数 encoding ,否则中文将会显示为 Unicode 编码。

我们构建完成了 Element 对象,接着我们就可以开始愉快的 Xpath 学习了。

我们会用  开头的 XPath 规则来选取所有符合要求的节点。示例(依然采用上面的 html )

结果如下

结果太长仅截取部分。

这里使用 * 代表匹配所有节点,也就是整个 HTML 文本中的所有节点都会被获取。可以看到,返回形式是一个列表,每个元素是 Element 类型,其后跟了节点的名称,如 html 、 head 、 meta 等,所有节点都包含在列表中了。

当然,在这里匹配也可以指定节点的名称,例如获取所有的 meta 节点

结果如下

这里要选取所有 meta 节点,可以使用  ,然后直接加上节点名称即可,调用时直接使用  方法即可。由于返回的是一个列表,所有要获取特定的某个 meta 的时候,可以直接在 [] 中加索引,例如  。

获取子节点一般可以使用  或者  来获取子节点或者孙子节点。

比如现在想获取所有的文章内容的块,如下

红框所标识的内容,可以看到 DOM 结构为  下面的  ,那么这个语句可以这么写

结果如下

此处的  是用于获取子节点,如果想要获取孙子节点,如  下面的 

 和  来查找子节点,那么肯定有语法可以查找父节点,不然只能向下查询不能向上查询就有点就有点太傻了。

 来实现的,比如我们先找到一篇文章的图片,现在要向上查找它的  ,如下图

 属性为  的  ,然后获取它的父节点  ,并且打印他的  属性,代码如下

 。

 符号进行属性过滤。

 为  的 
 的子节点中,  为  的 

最新文章
瑞莱智慧朱萌:做AI安全先锋,瑞莱智慧的智慧与担当 | 2025向新·AI未来
前言:2025年,AI撕裂数据与实体的边界,量子计算探索物理规则的边缘,绿色科技重塑增长的伦理,低空经济、机器人、大模型打开科
郴州地王大厦范围二手房, 解析 | 2025购房必看攻略,避坑省钱秘籍,核心价值实测,抢抓30%优惠!
郴州地王大厦范围二手房, 解析 | 2025购房必看攻略,避坑省钱秘籍,核心价值实测,抢抓30%优惠!郴州地王大厦市中心地标,交通便
90亿美元鲸落无声:22万倍收益离场背后的比特币新旧资本交替
作者:马丁一场价值90亿美元的比特币交易,揭开了加密世界新旧资本交替的序幕。7月末,加密货币市场见证了一场史诗级交易:数字资
易普力股票三个交易日涨幅偏离值超20%
雷达财经 文|杨洋 编|李亦辉7月23日,(002096)发布公告称,公司股票于2025年7月21日至23日连续三个交易日内收盘价格涨幅偏离值
泉州下达补助资金!南安19.05万元
为加快泉州数字经济高质量发展,推动大数据产业提质增效,经过前期的申报和审核工作,泉州市下达2025年数字经济发展专项资金市级
屏幕后的秘密!电影频道7.29将播出《玩命直播》
1905电影网 一个寻常的一天,你收到一个叫“玩命直播”的网站链接,里面是一款真人大冒险直播游戏,游戏规则是:你可以成为观看
庆阳到厦门曾厝埯旅游小吃, 2025必看_小吃攻略解析_必吃榜单曝光_省钱秘籍解密_10大美味盘点!
庆阳到厦门曾厝埯旅游小吃, 2025必看_小吃攻略解析_必吃榜单曝光_省钱秘籍解密_10大美味盘点!从庆阳一路南下厦门曾厝埯是个宝藏
“京彩绽放 益路奔腾”——2025北京体彩“益动京城”公益活动温情启幕​​
2025年7月30日,国家奥林匹克体育中心手球训练馆内气氛热烈非凡,备受瞩目的北京体彩“益动京城”公益活动在此正式启动,今年活
西安市民办义务教育学校电脑随机录取结束,剩余计划 4315 人
7月30日上午,西安市2025年民办义务教育学校电脑随机录取工作在各相关区县、开发区同时进行。本报记者作为公众监督团成员,在碑