現(xiàn)代網(wǎng)絡(luò)技術(shù)的世界中,XML(可擴(kuò)展標(biāo)記語(yǔ)言)和 HTML(超文本標(biāo)記語(yǔ)言) 是兩個(gè)非常重要的技術(shù)。盡管它們都使用標(biāo)簽和屬性的格式來(lái)描述數(shù)據(jù),但它們?cè)谛问胶陀猛旧嫌酗@著的區(qū)別。
XML,即 Extensible Markup Language(可擴(kuò)展標(biāo)記語(yǔ)言),是一種用于存儲(chǔ)和傳輸數(shù)據(jù)的文本格式。XML 的設(shè)計(jì)宗旨是強(qiáng)調(diào)數(shù)據(jù)的結(jié)構(gòu)化和準(zhǔn)確性,提供了一種公認(rèn)的標(biāo)準(zhǔn)格式。最主要的特點(diǎn)是它的自我描述性,即數(shù)據(jù)和數(shù)據(jù)的定義集成在一起,使得它在數(shù)據(jù)交換和數(shù)據(jù)存儲(chǔ)方面具有極大優(yōu)勢(shì)。
而 HTML,即 HyperText Markup Language(超文本標(biāo)記語(yǔ)言),則是一種用于創(chuàng)建網(wǎng)頁(yè)的標(biāo)準(zhǔn)標(biāo)記語(yǔ)言。HTML 的主要用途是描述網(wǎng)頁(yè)的內(nèi)容和結(jié)構(gòu),通過(guò)與 CSS(層疊樣式表)和 JavaScript(腳本語(yǔ)言)的結(jié)合,實(shí)現(xiàn)豐富和互動(dòng)的網(wǎng)絡(luò)應(yīng)用。
<book>
<title>Learning XML</title>
<author>John Doe</author>
<price>29.99</price>
</book>
<!DOCTYPE html>
<html>
<head>
<title>My Web Page</title>
</head>
<body>
<h1>Welcome to My Web Page</h1>
<p>This is an introductory paragraph.</p>
</body>
</html>
下面使用 Apifox 來(lái)修正和測(cè)試基于 XML 的 API 請(qǐng)求。
假設(shè)您需要向服務(wù)器發(fā)送 XML 格式的注冊(cè)信息。您可以按照以下步驟使用 Apifox 進(jìn)行設(shè)置:
<userRegistration>
<username>john_doe</username>
<password>securePassword123</password>
<email>john_doe@example.com</email>
</userRegistration>
<userRegistrationResponse>
<userId>12345</userId>
<username>john_dane</username>
<status>success</status>
</userRegistrationResponse>
打開(kāi) Apifox,選擇開(kāi)始新項(xiàng)目或者繼續(xù)現(xiàn)有項(xiàng)目。接著點(diǎn)擊“新建接口”,在接口設(shè)置頁(yè)面,選擇 POST 作為請(qǐng)求方法,并輸入正確的請(qǐng)求 URL,比如 https://api.example.com/register (這里的 URL 應(yīng)替換為真實(shí)可用的 URL)。在配置請(qǐng)求體時(shí),選擇 XML 格式,并將上述 XML 數(shù)據(jù)粘貼到配置區(qū)。
配置完成后,轉(zhuǎn)到“運(yùn)行測(cè)試”頁(yè)面,點(diǎn)擊“發(fā)送”按鈕以向服務(wù)器發(fā)送構(gòu)建的請(qǐng)求。請(qǐng)求發(fā)送后,檢查響應(yīng)部分,您應(yīng)該看到類(lèi)似于提供的 XML 格式的響應(yīng)數(shù)據(jù)。
您還可以使用響應(yīng)界面上的預(yù)覽功能,該功能能讓您以更直觀的方式查看服務(wù)器返回的數(shù)據(jù)。
XML 和 HTML 雖然在標(biāo)簽和屬性的語(yǔ)法上有所相似,但它們?cè)谑褂脠?chǎng)景、結(jié)構(gòu)和功能上有顯著的區(qū)別。XML 強(qiáng)調(diào)數(shù)據(jù)的準(zhǔn)確傳輸和結(jié)構(gòu)化存儲(chǔ),適合用于數(shù)據(jù)的交換和持久化存儲(chǔ)等場(chǎng)景。而 HTML 強(qiáng)調(diào)內(nèi)容呈現(xiàn)和用戶(hù)交互,主要用于網(wǎng)頁(yè)設(shè)計(jì)和開(kāi)發(fā)。
于從事IT開(kāi)發(fā)的朋友來(lái)說(shuō),數(shù)據(jù)格式是基礎(chǔ)并且是非常重要的,因?yàn)閿?shù)據(jù)總要是傳輸和顯示在頁(yè)面上的。數(shù)據(jù)格式一般來(lái)說(shuō)有三種,html、json、xml三種。那么他們之間存在什么區(qū)別呢?今天小編帶大家來(lái)深入了解下:
html是組成萬(wàn)千web頁(yè)面的載體
eautiful Soup 包:
Beautiful Soup: Python 的第三方插件用來(lái)提取 xml 和 HTML 中的數(shù)據(jù)。官網(wǎng)地址 https://www.crummy.com/software/BeautifulSoup/
1、安裝 Beautiful Soup
打開(kāi) cmd(命令提示符),進(jìn)入到 Python(Python2.7版本)安裝目錄中的 scripts 下,輸入 dir 查看是否有 pip.exe, 如果用就可以使用 Python 自帶的 pip 命令進(jìn)行安裝,輸入以下命令進(jìn)行安裝即可:
pip install beautifulsoup4
2、測(cè)試是否安裝成功
編寫(xiě)一個(gè) Python 文件,輸入:
import bs4
print bs4
運(yùn)行該文件,如果能夠正常輸出則安裝成功。
五、使用 Beautiful Soup 解析 html 文件
# -*- coding: UTF-8 -*-
import bs4
import re
from bs4 import BeautifulSoup
html_doc = """
<html><head><title>The Dormouse's story</title></head>
<body>
<p class="title"><b>The Dormouse's story</b></p>
<p class="story">Once upon a time there were three little sisters; and their names were
<a href="http://example.com/elsie" class="sister" id="link1">Elsie</a>,
<a href="http://example.com/lacie" class="sister" id="link2">Lacie</a> and
<a href="http://example.com/tillie" class="sister" id="link3">Tillie</a>;
and they lived at the bottom of a well.</p>
<p class="story">...</p>
"""
# 創(chuàng)建一個(gè)BeautifulSoup解析對(duì)象
soup = BeautifulSoup(html_doc, "html.parser", from_encoding="utf-8")
# 獲取所有的鏈接
links = soup.find_all('a')
print("所有的鏈接")
for link in links:
print(link.name, link['href'], link.get_text())
print("獲取特定的URL地址")
link_node = soup.find('a', href="http://example.com/elsie")
print(link_node.name, link_node['href'], link_node['class'], link_node.get_text())
print("正則表達(dá)式匹配")
link_node = soup.find('a', href=re.compile(r"ti"))
print(link_node.name, link_node['href'], link_node['class'], link_node.get_text())
print("獲取P段落的文字")
p_node = soup.find('p', class_='story')
print(p_node.name, p_node['class'], p_node.get_text())
===========
輸出:
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。