当前位置: 首页 > news >正文

android 旅游网站开发成都网络优化网站建设

android 旅游网站开发,成都网络优化网站建设,搜集10个优秀网站,wordpress如何才能自己登陆进入自己的网站 进行修改呢订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000python项目实战 Python编程基础教程系列(零基础小白搬砖逆袭) 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费…
  • 订阅:新手可以订阅我的其他专栏。免费阶段订阅量1000+

                python项目实战

                Python编程基础教程系列(零基础小白搬砖逆袭)

  • 说明:本专栏持续更新中,目前专栏免费订阅,在转为付费专栏前订阅本专栏的,可以免费订阅付费专栏,可报销(名额有限,先到先得)
  • 作者:爱吃饼干的小白鼠。Python领域优质创作者,2022年度博客新星top100入围,荣获多家平台专家称号。

 最近更新

〖Python网络爬虫实战⑦〗- requests的使用(一)

〖Python网络爬虫实战⑧〗- requests的使用(二)
〖Python网络爬虫实战⑨〗- 正则表达式基本原理

〖Python网络爬虫实战⑩〗- 正则表达式实战(一)
 

〖Python网络爬虫实战⑪〗- 正则表达式实战(二)

上节回顾

前面,我们介绍了关于正则表达式的知识,并且我们在两个实战案例中得到了进一步的提升。下面,我们就向大家介绍网络解析数据的另一个库——XPATH。

⭐️XPATH语法介绍

前面我们实现了一个最基本的爬虫,但提取页面信息时使用的是正则表达式,过程比较烦琐,且万一有地方写错了,可能会导致匹配失败、所以使用正则表达式提取页面信息多少还是有些不方便.

对于网页的节点来说、可以定义id,class或其他属性,而且节点之间还有层次关系,在网页中可以通过XPath或CSS选择器来定位一个或多个节点。那么、在解析页面时,利用XPath或CSS选择器提取某个节点,然后调用相应方法获取该节点的正文内容或者属性,不就可以提取我们想要的任意信息了吗?

🌟1. Xpath 概念

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

🌟2.常用规则

下表列举了 XPath 的几个常用规则。

  • 获取文本

    表达式描述
    a/text()获取 a 下的文本
    a//text()获取 a 下所有元素的文本
    //a[text()='下一页']获取文本为下一页的 a 元素
  • 获取属性
表达式描述
nodename选取此节点的所有子节点
/从当前节点选取直接子节点
//从当前节点选取子孙节点
.选取当前节点
..选取当前节点的父节点
@选取属性
*匹配任何元素节点
@*匹配任何属性节点
node()匹配任何类型的节点

这里列出了 XPath 的常用匹配规则,示例如下:

//title[@lang='eng']

这就是一个 XPath 规则,它代表选择所有名称为 title,同时属性 lang 的值为 eng 的节点。

实例

在下面的表格中,我们已列出了一些路径表达式以及表达式的结果:

路径表达式结果
bookstore选取 bookstore 元素的所有子节点。
/bookstore

选取根元素 bookstore。

注释:假如路径起始于正斜杠( / ),则此路径始终代表到某元素的绝对路径!

bookstore/book选取属于 bookstore 的子元素的所有 book 元素。
//book选取所有 book 子元素,而不管它们在文档中的位置。
bookstore//book选择属于 bookstore 元素的后代的所有 book 元素,而不管它们位于 bookstore 之下的什么位置。
//@lang选取名为 lang 的所有属性。

实例

在下面的表格中,我们列出了一些路径表达式,以及这些表达式的结果:

路径表达式结果
/bookstore/*选取 bookstore 元素的所有子元素。
//*选取文档中的所有元素。
//title[@*]选取所有带有属性的 title 元素。

🌟3.准备工作

使用之前,首先要确保安装好 lxml 库。如尚未安装,可以使用 pip3 来安装:

pip3 install lxml

🌟4. 实例引入

现在通过实例来感受一下使用 XPath 对网页进行解析的过程,相关代码如下:

from lxml import etree
text = '''
<div><ul><li class="item-0"><a href="link1.html">first item</a></li><li class="item-1"><a href="link2.html">second item</a></li><li class="item-inactive"><a href="link3.html">third item</a></li><li class="item-1"><a href="link4.html">fourth item</a></li><li class="item-0"><a href="link5.html">fifth item</a></ul></div>
'''
html = etree.HTML(text)
result = etree.tostring(html)
print(result.decode('utf-8'))

这段代码使用 Python 的 lxml 库解析一个包含 HTML 内容的字符串,并将其转换为 HTML 字符串。最后,它将 HTML 字符串打印到控制台上。

具体来说,这段代码首先导入了 lxml 库,然后定义了一个包含 HTML 内容的字符串 text。接着,它使用 etree.HTML() 方法将字符串转换为 HTML 字符串,并将其存储在变量 html 中。最后,它使用 etree.tostring() 方法将 HTML 字符串转换为字符串,并将其存储在变量 result 中。最后,它使用 print() 函数将 HTML 字符串打印到控制台上。

需要注意的是,这段代码中使用了 etree.HTML() 方法将字符串转换为 HTML 字符串,这是 lxml 库中的一个方法,它可以将字符串转换为 HTML 格式的字符串。如果你想要将字符串转换为其他格式的字符串,可以使用其他方法,如 etree.tostring() 方法。

🌟总结

本文简单介绍了XPath的语法,本文篇幅有限,也不可能全部介绍完,大家可以弄清楚基本的,从子父节点入手,或者直接开发者工具直接复制。后面,我们将介绍xpath的相关实战,后面我可能更新会慢一些,感谢支持。

http://www.yayakq.cn/news/245141/

相关文章:

  • 建设网站公司兴田德润在哪里建设银行个人网上银行网页
  • 有没有做网站近期的新闻热点
  • 旅游网站设计asp火蝠电商代运营值得相信吗
  • 铜陵市网站建设广州哪里有做网站推广
  • 云南营销型网站建设百度登录入口官网
  • 宁波免费网站建站模板国家反诈中心app下载二维码
  • 怎样建立一个营销的公司网站网络广告商
  • 建设网站的重要性赚钱宝部署wordpress
  • 沧浪seo网站优化软件企业网站建设标准
  • 现在做网站需要多少钱网站如何做cdn
  • 北京做企业网站多少钱合肥网站建设公司排名
  • 做物流网站的图片素材中国室内设计师联盟官网
  • 南沙门户网站建设开发个网站开票名称是什么意思
  • 许昌网站建设wordpress 移植
  • 公司电商网站开发合同济南建设职业技术学院
  • 网站修改建设品牌vi设计有哪些内容
  • 摄影网站制作安装系统后没有wordpress
  • 管理咨询网站二级域名做网址导航大全网站
  • 柳州市城乡建设局网站常德政务网站
  • 网站模板 jsp运河经济开发区建设局网站
  • 海洋馆网站建设python做网站还是数据
  • 公司宣传页设计印刷保定网站关键词优化
  • 网站建设jnlongji济南网络推广公司排名
  • 樊城区建设局网站微信crm客户管理系统
  • 网站怎么做播放窗口深圳做网站好的公司
  • 东莞网站建设做网站广东深圳网站建设方便
  • 360免费建站为什么注册不了企业邮箱申请理由
  • 阿里巴巴做国际网站要多少钱朝阳网站建设是什么意思
  • 接计设做的网站包装网站建设
  • 网站平台由什么搭建坪山网站建设公司