2.1.w3c标准

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

(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


    
        Everyday Italian
        Giada De Laurentiis
        2005
        30.00
    
    
        Harry Potter
        J.K. Rowling
        2005
        29.99
    
    
        Learning XML
        Erik T. Ray
        2003
        39.95
    

例: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)

你可能感兴趣的:(python学习,python,学习,xml,json)