Python入門系列19-Python標準庫之html

在Python提供的標準庫中有一個名爲html的標準庫,該標準庫提供的功能很簡單,僅僅是把一些組成標籤的尖括號或者是一些特殊字符轉換成實體字符。

這也是Python本身秉持的設計哲學,就是一個函數、一個模塊或者一個標準庫只專注於一件事或者是某一方面的事。

我們先來大概瞭解該標準的組成

>>> import html
>>> dir(html)
['__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '_charref', '_html5', '_invalid_charrefs', '_invalid_codepoints', '_re', '_replace_charref', 'entities', 'escape', 'unescape']

我們不管那些以_開頭的東東,把注意放在escape和unescape這兩個函數上。

假設我有一些HTML,我擔心其中會包含一些可能危險的

沒錯escape函數就是轉義的意思,就是把一些字符轉換爲實體字符。比如“<”會轉換成“&+lt”、“>”會轉換成“&+gt”等等。(加號表示連接兩邊的符號)

>>> import html
>>> help(html.escape)
Help on function escape in module html:

escape(s, quote=True)
    Replace special characters "&", "<" and ">" to HTML-safe sequences.
    If the optional flag quote is true (the default), the quotation mark
    characters, both double quote (") and single quote (') characters are also
    translated.

查看該函數的幫助可以瞭解到,它會把特定字符“&”,“<”,“>”等轉換成HTML安全的實體字符。該函數還有一個可選的標記參數,默認爲True,意思就是該函數默認爲把引用符號(“”、‘’)等一併轉換。

>>> import html
>>> demo = "<h1>Hello World!,'</h1>"
>>> html.escape(demo,quote = False)
"<h1>Hello World!,'mangfu'</h1>"

上面的例子中,我設置可選參數quote爲False,則它並不會對引號(‘’)進行轉換。

>>> import html
>>> demo = "<h1>Hello World!,'</h1>"
>>> html.escape(demo)
'<h1>Hello World!,'mangfu'</h1>'

上面的例子中,我使用該函數默認的可選參數,從結果中可以看出函數輸出已經對引號(‘’)進行轉換。

至於unescape函數,看該函數的名字就知道它的作用跟escape函數恰恰相反。

可能大家對這些功能還不是很熟悉,但是這在Web開發方面是很重要的,如果你以後學習Django來搭建自己的網站,會碰到這個功能的。

大家可以動手試試unescape函數。。。

對於初學者想更輕鬆的學好Python開發,爬蟲技術,Python數據分析,人工智能等技術,這裏也給大家準備了一套系統教學資源,加Python技術學習教程qq裙:855408893,免費領取。學習過程中有疑問,羣裏有專業的老司機免費答疑解惑!點擊加入我們的 python學習圈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章