PyQuery: Python的jQuery

編程語言 Python jQuery HTML Python部落 2017-04-06

Python部落(python.freelycode.com)組織翻譯,禁止轉載,歡迎轉發。

在本教程中,您將看到PyQuery:一個允許您對XML文檔進行jQuery查詢的Python庫。在語法上它與jQuery非常相似,如果你熟悉jQuery,理解起來應該更容易。

PyQuery入門

開始使用PyQuery前需要先用PIP安裝Python包。

PyQuery安裝完成後,將其導入到Python程序中。

讓我們從一個基本的例子開始吧。考慮以下HTML:

輸入XML並將其傳遞給PyQuery對象,您就應該可以對jQuery樣式進行查詢。

假定divMain為jQuery對象並打印出div的HTML內容。

保存更改並嘗試運行程序。您應該具有以下輸出:

要從span內部獲取Hello World文本,代碼將是:

保存更改並嘗試運行代碼。您應該具有以下輸出:

使用PyQuery的屬性進行操作

現在來看看如何使用PyQuery庫讀取屬性。假設你有一個HTML元素,如圖所示:

使用PyQuery庫讀取上述HTML內容。

我們嘗試訪問ulMain中ul的ID屬性。

保存上述更改並嘗試運行Python程序。您應該可以看到ulMain在終端上打印ID 。

您已經看到了如何訪問ulMain中ul的ID屬性。我們嘗試為同一個ulMain元素設置一個類名。要指定類名稱屬性,您需要指定屬性名稱及其對應的值,如下所示:

打印ulMain對象,你應該具有class屬性的元素。

您也可以直接添加和刪除類,而不使用attr方法。要向元素添加類,可以使用方法addClass。

要從元素中刪除現有的類,可以使用該removeClass方法。

使用PyQuery處理CSS

除了屬性,元素將具有一些CSS屬性。要添加或修改CSS屬性,可以使用css方法指定屬性。我們假設你想要以新的樣式指定ulMain中ul的高度。以下代碼將添加所需的樣式屬性到元素。

保存上述更改並嘗試執行Python程序。你應該將ulMain與新的風格一起輸出。

要向元素添加多個樣式,可以按照下面的方法指定它們:

運行程序,你應該已經將樣式添加到了ulMain。

創建和追加元素

在創建動態元素期間,您需要創建新元素並將其添加到現有的父元素中,還要讓它們呈現出來。我們來看看如何使用PyQuery創建和追加元素。

假設你有一個主容器div,名為divMain。

我們使用PyQuery來創建一個新的span元素。

添加一些CSS屬性到span。

PyQuery提供了一種向現有元素添加元素的方法。您可以使用該append方法將span元素附加到名為divMain的div。這是代碼:

保存更改並運行程序。您應該可以看到divMain打印的新創建的span已經追加成功。

您使用追加的方法將span附加到div。還有另外一種通過追加節點值的叫做appendTo的方法。在上述情況下,您可以使用如下所示的方法:

使用PyQuery查找元素

PyQuery 提供查找子元素、下一個元素和附近元素等的方法。它還提供了過濾和查找特定節點內的元素的方法。

假設你有一個特定的HTML,如下所示:

PyQuery: Python的jQuery

將以下HTML添加到PyQuery對象中:

PyQuery: Python的jQuery

讓我們使用PyQuery來找到div的子元素divMain。添加以下代碼行來打印divMain的子元素。

運行該程序時,應該具有以下輸出:

要找到與元素最近的元素,可以使用closest方法。要找到距離最近的div元素,代碼將是:

上述命令將返回以下輸出:

我們還可以使用find的另一種方法來查找元素。例如,要在divMain中找到一個span,您只需要調用如下所示的方法:

上述命令將返回span。

在HTML中插入元素

雖然使用append可以實現在現有元素中添加新元素,但有時您需要在元素之前或之後插入元素。PyQuery提供了在其他元素之前或之後插入元素的方法。

我們定義一個新的段落元素,並插入到名為divMain的div中的span中。

在p元素上調用insertAfter方法,將其插入到span之後。

保存上述更改並運行Python程序。您應該具有以下輸出:

PyQuery: Python的jQuery

類似地,您有insertBefore方法,它插入到元素之前。使用insertBefore方法修改代碼,如下圖所示:

保存更改並運行程序。您應該能夠在終端上看到以下輸出:

PyQuery: Python的jQuery

結語

在本教程中,您瞭解到瞭如何使用PyQuery庫,該庫可讓您對XML文檔進行jQuery查詢。您看到了如何操縱HTML元素的屬性和CSS樣式。

您學習瞭如何創建和追加元素到現有元素,以及在元素之前和之後插入新元素。您在本教程中看到的只是冰山一角,這個庫中還提供了很多。

有關使用此庫的更多詳細信息,我建議您閱讀官方文檔。請在下面的評論中通知我們您的建議。

英文原文:https://code.tutsplus.com/tutorials/pyquery-pythons-jquery--cms-28178
譯者:Sarah

相關推薦

推薦中...