Python部落(python.freelycode)組織翻譯,禁止轉(zhuǎn)載,歡迎轉(zhuǎn)發(fā)。
在本教程中,您將看到PyQuery:一個允許您對XML文檔進行jQuery查詢的Python庫。在語法上它與jQuery非常相似,如果你熟悉jQuery,理解起來應(yīng)該更容易。
PyQuery入門
開始使用PyQuery前需要先用PIP安裝Python包。
PyQuery安裝完成后,將其導入到Python程序中。
讓我們從一個基本的例子開始吧??紤]以下HTML:
輸入XML并將其傳遞給PyQuery對象,您就應(yīng)該可以對jQuery樣式進行查詢。
假定divMain為jQuery對象并打印出div的HTML內(nèi)容。
保存更改并嘗試運行程序。您應(yīng)該具有以下輸出:
要從span內(nèi)部獲取Hello World文本,代碼將是:
保存更改并嘗試運行代碼。您應(yīng)該具有以下輸出:
使用PyQuery的屬性進行操作
現(xiàn)在來看看如何使用PyQuery庫讀取屬性。假設(shè)你有一個HTML元素,如圖所示:
使用PyQuery庫讀取上述HTML內(nèi)容。
我們嘗試訪問ulMain中ul的ID屬性。
保存上述更改并嘗試運行Python程序。您應(yīng)該可以看到ulMain在終端上打印ID 。
您已經(jīng)看到了如何訪問ulMain中ul的ID屬性。我們嘗試為同一個ulMain元素設(shè)置一個類名。要指定類名稱屬性,您需要指定屬性名稱及其對應(yīng)的值,如下所示:
打印ulMain對象,你應(yīng)該具有class屬性的元素。
您也可以直接添加和刪除類,而不使用attr方法。要向元素添加類,可以使用方法addClass。
要從元素中刪除現(xiàn)有的類,可以使用該removeClass方法。
使用PyQuery處理CSS
除了屬性,元素將具有一些CSS屬性。要添加或修改古董交易平臺CSS屬性,可以使用css方法指定屬性。我們假設(shè)你想要以新的樣式指定ulMain中ul的高度。以下代碼將添加所需的樣式屬性到元素。
保存上述更改并嘗試執(zhí)行Python程序。你應(yīng)該將ulMain與新的風格一起輸出。
要向元素添加多個樣式,可以按照下面的方法指定它們:
運行程序,你應(yīng)該已經(jīng)將樣式添加到了ulMain。
創(chuàng)建和追加元素
在創(chuàng)建動態(tài)元素期間,您需要創(chuàng)建新元素并將其添加到現(xiàn)有的父元素中,還要讓它們呈現(xiàn)出來。我們來看看如何使用PyQuery創(chuàng)建和追加元素。
假設(shè)你有一個主容器div,名為divMain。
我們使用PyQuery來創(chuàng)建一個新的span元素。
添加一些CSS屬性到span。
PyQuery提供了一種向現(xiàn)有元素添加元素的方法。您可以使用該append方法將span元素附加到名為divMain的div。這是代碼:
保存更改并運行程序。您應(yīng)該可以看到divMain打印的新創(chuàng)建的span已經(jīng)追加成功。
您使用追加的方法將span附加到div。還有另外一種通過追加節(jié)點值的叫做appendTo的方法。在上述情況下,您可以使用如下所示的方法:
使用PyQuery查找元素
PyQuery 提供查找子元素、下一個元素和附近元素等的方法。它還提供了過濾和查找特定節(jié)點內(nèi)的元素的方法。
假設(shè)你有一個特定的HTML,如下所示:
將以下HTML添加到PyQuery對象中:
讓我們使用PyQuery來找到div的子元素divMain。添加以下代碼行來打印divMain的子元素。
運行該程序時,應(yīng)該具有以下輸出:
要找到與元素最近的元素,可以使用closest方法。要找到距離最近的div元素,代碼將是:
上述命令將返回以下輸出:
我們還可以使用find的另一種方法來查找元素。例如,要在divMain中找到一個span,您只需要調(diào)用如下所示的方法:
上述命令將返回span。
在HTML中插入元素
雖然使用append可以實現(xiàn)在現(xiàn)有元素中添加新元素,但有時您需要在元素之前或之后插入元素。PyQuery提供了在其他元素之前或之后插入元素的方法。
我們定義一個新的段落元素,并插入到名為divMain的div中的span中。
在p元素上調(diào)用insertAfter方法,將其插入到span之后。
保存上述更改并運行Python程序。您應(yīng)該具有以下輸出:
類似地,您有insertBefore方法,它插入到元素之前。使用insertBefore方法修改代碼,如下圖所示:
保存更改并運行程序。您應(yīng)該能夠在終端上看到以下輸出:
結(jié)語
在本教程中,您了解到了如何使用PyQuery庫,該庫可讓您對XML文檔進行jQuery查詢。您看到了如何操縱HTML元素的屬性和CSS樣式。
您學習了如何創(chuàng)建和追加元素到現(xiàn)有元素,以及在元素之前和之后插入新元素。您在本教程中看到的只是冰山一角,這個庫中還提供了很多。
有關(guān)使用此庫的更多詳細信息,我建議您閱讀官方文檔。請在下面的評論中通知我們您的建議。
聯(lián)系客服