2.1.w3c标准

本文介绍了网页的三个主要组成部分:结构(如XHTML和XML)、表现(CSS)和行为(如JavaScript和w3cdom),并详细讲解了XPath在XML和HTML文档选择节点的用法。此外,还提到了JSON作为轻量级数据交换格式在Web开发中的广泛应用。
摘要由CSDN通过智能技术生成

网页主要由三部分组成:结构,表现,行为

(1)结构化标准语言主要包括XHTML,XML

(2)表现标准语言主要包括CSS

(3)行为标准主要包括w3c dom, ecmascript等。

2.1.1.html【详细内容暂略】

2.1.2.css【详细内容暂略】

2.1.3.JavaScript【详细内容暂略】

2.1.4.XPath

        XPath是一种用于选择XML(可扩展标记语言)文档中节点的语言,也可以用于HTML文档。XPath通过路径表达式来定位节点,类似于文件系统中的文件路径,可以精准地定位到特定的节点或者一组节点。

XPath语法主要由以下几个部分组成:

  1. 节点选择器:XPath中所有内容都被视为节点,可以使用///来使XPath沿着节点层次结构向下遍历。/表示只查找直接子节点,而//表示查找所有后代节点。

  2. 谓语(Predicate):谓语是指在路径表达式中所包含的方括号[]内的条件表达式,用于筛选符合条件的节点。例如,//div[@class='content']表示匹配所有class属性值为content的div节点。

  3. 通配符:XPath中使用*表示匹配任何节点,使用@*表示匹配任何属性节点。

  4. 轴(Axis):轴是相对当前节点的节点集合。XPath提供了多个轴,例如ancestor轴表示当前节点的所有祖先节点,following-sibling表示当前节点之后的所有兄弟节点。

  5. 函数:XPath中内置了多个函数,例如text()函数用于获取元素的文本内容,contains()函数用于判断某个字符串是否包含另一个字符串。

XPath是在XML和HTML文档中定位和选择节点的强大工具,可以在Scrapy、BeautifulSoup等爬虫框架中广泛使用。

        在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档节点(或称为根节点)。

        XML 文档是被作为节点树来对待的。树的根被称为文档节点或者根节点。

例:

eg.xml

<bookstore>
    <book category="cooking">
        <title lang="en">Everyday Italian</title>
        <author>Giada De Laurentiis</author>
        <year>2005</year>
        <price>30.00</price>
    </book>
    <book category="children">
        <title lang="en">Harry Potter</title>
        <author>J.K. Rowling</author>
        <year>2005</year>
        <price>29.99</price>
    </book>
    <book category="web">
        <title lang="en">Learning XML</title>
        <author>Erik T. Ray</author>
        <year>2003</year>
        <price>39.95</price>
    </book>
</bookstore>

例:read_xml.py

from lxml import etree

# 加载XML文档
with open('/xxx/xxx/eg.xml', 'r') as f:
    xml_data = f.read()

# 将XML字符串解析成树形结构
root = etree.fromstring(xml_data)

# 选择所有book节点以及它们的title节点
books = root.xpath('//book')
for book in books:
    print(book.xpath('title/text()')[0])

        使用lxml库和XPath语法选择出bookstore节点下所有的book节点的title节点.

       [ from lxml import etree]是Python中常用的导入lxml库中的etree模块。lxml是一个Python的XML和HTML处理库,比Python标准库中的xml.etree.ElementTree模块更加强大和高效。

        在使用XPath语法进行XML或HTML节点的选择时,通常需要使用lxml库中的etree模块。该模块提供了Element类,可以将XML或HTML文档解析成一个树形结构,然后可以使用XPath语法选择对应的节点。

        以上详细的语法,和相关的知识点,需要自己简单学习下

2.1.5.JSON

       JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以易于人阅读和编写的文本格式为基础,常用于前后端数据交互。JSON格式由键值对组成,其中键必须是字符串,值可以是字符串、数字、布尔值、数组、对象等类型。

JSON的主要特点包括:

  1. 简洁性:JSON采用了类似于Python字典的键值对格式,使得数据结构更加清晰和简洁。

  2. 可读性:JSON采用文本格式存储数据,易于人类阅读和编写,方便调试和理解。

  3. 跨语言性:JSON是一种通用的数据格式,几乎所有编程语言都支持JSON的解析和生成,因此在不同语言之间进行数据交换非常方便。

  4. 轻量级:相比XML等其他格式,JSON文件通常更小,占用的空间更少,传输速度更快。

一个简单的JSON示例如下:

{
    "name": "Alice",
    "age": 30,
    "is_student": false,
    "courses": ["Math", "Science"],
    "address": {
        "street": "123 Main St",
        "city": "New York"
    }
}

在上面的JSON中,有几个重要的部分:

  • "name": "Alice":键值对,键是字符串,值是字符串。
  • "age": 30:键值对,键是字符串,值是数字。
  • "is_student": false:键值对,键是字符串,值是布尔值。
  • "courses": ["Math", "Science"]:键值对,键是字符串,值是数组。
  • "address": {...}:键值对,键是字符串,值是另一个JSON对象。

在Python中,可以使用json库来处理JSON数据,实现JSON数据与Python数据类型之间的转换。可以通过json.dumps()方法将Python数据转换为JSON字符串,通过json.loads()方法将JSON字符串转换为Python数据类型。这样就可以在Python程序中方便地操作JSON数据。

        json比xml更小、更快、更易解析,由此json在网络传输中,尤其是web前端中运用非常广泛。

例:data.json

{
    "name": "Alice",
    "age": 30,
    "is_student": false,
    "courses": ["Math", "Science"],
    "address": {
        "street": "123 Main St",
        "city": "New York"
    }
}

例:read_json.py

import json

# 读取包含JSON数据的文件
with open('/xxx/xxx/data.json', 'r') as file:
    json_data = json.load(file)

# 输出解析后的Python数据结构
print(json_data)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值