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

结果如下

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

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

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

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

 。

 符号进行属性过滤。

 为  的 
 的子节点中,  为  的 

最新文章
赛场直击|把握眼前时刻 迎面冲锋
“这是一场季后赛级别的比赛,我们的队员们保持了足够的专注,虽然上半场球队的外线火力没有完全打开,但下半时面对强敌,我们展
官宣!落户怀化辰溪
辰溪县是湖南省首个“篮球之乡”,孝坪镇是重要承载地,具有举办全省、全国篮球赛事的天然阶梯篮球场、工人俱乐部等场馆设施。孝
张明 | 如何大力提振消费?
注:本文发表于《财经》杂志,转载请务必注明出处。文中配图摄于云南大理沙溪古镇。在2024年,受各种因素影响,消费对中国经济增
谢浩男到南京了!准备请吃南京菜,谢爸痛苦喝奶茶,嘴里却说好甜
3月23日上午,谢浩男安全抵达南京,这次谢爸带着全家人送他回学校,似乎又有好戏看了。一早,全家人就收拾好了行李,大包小包的
一图看懂比亚迪仰望U7:贵不到10万 选它还是小米SU7 Ultra
快科技3月28日消息,昨晚品牌推出全新轿车仰望U7,共推出四款车型(均提供EV和插混)。仰望U7定位于“百万级行政旗舰”,对标、
20+14,火箭丧失两大优势!申京难堪大任,乌度卡赛后表态成关键
北京时间3月24日火箭主场对阵掘金,全场比赛结束火箭以111-116输给了掘金。火箭在近期状态火热,反观掘金这边已经是缺席多场比赛
最低仅需16.98万起的路虎发现运动版,能买吗?
前阵子,网络上爆出了车型一口价16.98万元的降价海报。虽说该海报上明确写出了这是只有大客户才可享受到的价格,但有一说一,只
每周艺汇丨首演必看!今春必看的舞台指南
当现实与舞台重叠,三场不同维度的生命叙事即将开演——烽烟中的战歌 《寻找李二狗》带你重温家国情怀,时空迷雾中的《尘封十三
采访了索尼高层,才理解为什么只有索尼敢称“把影院带回家”
老马在AWE上泡了整整一个礼拜,也目睹了一个个展台如何拔地而起。要说2025年AWE上令人印象最深刻的展台,无数人把票投给了索尼,
平安银行信用卡2024年在稳健中前行:精细化存客经营,风险调优谋长远
本文来源:时代周报 作者:穆白A股上市银行首份年报出炉。近日,平安银行率先发布2024年年报,该行信用卡业务的成绩单也随之揭开