商务服务
黄页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 结构为  下面的  ,那么这个语句可以这么写

结果如下

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

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

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

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

 。

 符号进行属性过滤。

 为  的 
 的子节点中,  为  的 

最新文章
苹果手机涨价了吗?最新回应
近日,杭州和广州等地的非官方授权手机经销商反映,iPhone16系列价格出现上涨,尤其是高端机型如iPhone16 Pro Max,涨幅约300至5
蚂蚁集团发布最新AI成果:无需高端GPU,计算成本降低20%
每经记者:宋欣悦    每经编辑:兰素英长久以来,英伟达凭借高性能芯片构筑起“算力霸权”,在AI(人工智能)模型训练领域占
比特币年内极端走势预测:阴跌到5万,还是暴涨至25万?
撰文:Luke,火星财经2025 年 3 月 31 日,比特币在 83000 美元的边缘摇摇欲坠,较两个多月前 109000 美元的巅峰跌去约 24%。市
「酷炫十足」五款超有型的朋克风格手机,让你与众不同!电信移动双模手机「「酷炫十足」五款超有型的朋克风格手机,让你与众不同!」
随着科技进步的步伐加快,人们对于智能手机的需求日益多元化,已经不再局限于基础功能,而是开始注重个性化体验和生活质量的提升
帧间狂想曲|那些拥有绝美镜头的樱花味电影
樱花,是一期一会的春日限定,同时在电影史上承载着丰富的象征意义,既是视觉美学的核心元素,也是哲学与情感表达的载体。 胶片
价差1100元的OPPO Find X8/Find X8 Pro怎么选? FindX8/Pro对比测评军用手机「价差1100元的OPPO Find X8/Find X8 Pro怎么选? FindX8/
2024年10月24日,OPPO正式发布了年度旗舰Find X8和Find X8 Pro。这两台手机虽然同为一个系列,但是在很多配置方面完全不同。想购
SEMI全球副总裁居龙:今年全球半导体销售额预计两位数增长 2030年将达万亿美元
3月26日,SEMICON China 2025国际半导体展于上海拉开帷幕。该次开幕主题演讲汇集了全球行业领袖,演讲嘉宾们在现场分享了全球产
如何激活手机?手机激活「如何激活手机?」
简介:在现代社会,手机已经成为人们生活中不可或缺的一部分。然而,有时候我们可能会遇到手机无法正常使用的情况,这时就需要激
一键清理大师手机版手机清理大师「一键清理大师手机版」
手机中垃圾文件过多,手机越来越慢,可用内存越来越少怎么办?你可以试试kkx为大家分享的一键清理大师手机版来进行清理,帮助用
iPhone手机怎么录音?苹果手机录音教程苹果手机如何录音「iPhone手机怎么录音?苹果手机录音教程」
在日常工作中,例如涉及一些会议或者谈话记录,很多人都会有录音需求。那么iPhone手机录音该怎么操作呢?今天小编就来给大家简单