PyQuery介紹與安裝
PyQuery庫也是一個非常強大又靈活的網(wǎng)頁解析庫,如果你有前端開發(fā)經(jīng)驗的,都應該接觸過jQuery,那么PyQuery就是你非常絕佳的選擇。
PyQuery 是 Python 仿照 jQuery 的嚴格實現(xiàn)。
語法與 jQuery 幾乎完全相同,所以不用再去費心去記一些奇怪的方法了。
官網(wǎng)地址:https://pyquery.readthedocs.io/en/latest/
- PyQuery的安裝
pip install pyquery
- URL初始化:
# 推薦使用requests爬取信息
from pyquery import PyQuery as pq
import requests
res = requests.get("http://www.baidu.com")
res.encoding = "utf-8" # 因為原編碼為ISO-8859-1
#print(res.text)
doc = pq(res.text)
print(doc("title"))
PyQuery的使用
首先創(chuàng)建一個html文件:my.html 用于測試pyquery
的解析效果
我的常用鏈接
使用pyquery
解析my.html
# 讀取my.html的文件內(nèi)容,并使用pyquery來查找節(jié)點
from pyquery import PyQuery as pq
doc = pq(filename='my.html',encoding="utf-8")
print(doc('title')) #通過html標簽名獲取元素節(jié)點
print(doc('#hid')) #獲取id屬性值為hid的元素節(jié)點
print(doc('.bb')) #獲取class屬性值為bb的元素節(jié)點
print(doc('title,h3')) #選擇符組的使用
print(doc("ul li.shop a")) #關(guān)聯(lián)選擇符的使用
print(doc("a")) #獲取所有a
print(doc("a:first")) #獲取第一個a
print(doc("a:last")) #獲取最后一個a
print(doc("a:lt(2)")) #獲取前連個a
print(doc("a:eq(2)")) #獲取索引位置2的a(第三個)
print(doc('a[)) #獲取指定屬性值的節(jié)點
print("="*60)
# 節(jié)點的二次篩選:
lilist = doc("ul li") #獲取ul中所有的li
print(type(lilist)) #
print(lilist.find("a.bb")) #在結(jié)果的基礎(chǔ)上再次查找
print(lilist.children("a.bb")) #在結(jié)果的基礎(chǔ)上再次查找
print(doc("a.bb").parent()) #獲取指定元素的直接父節(jié)點
#print(doc("a.bb").parents()) #獲取指定元素的所有父節(jié)點
print(doc("a.bb").parent().siblings()) #獲取兄弟節(jié)點
print("="*60)
# 遍歷:
alist = doc("a")
for a in alist.items():
print(a.attr.href)
#print(a.attr('href')) #同上
print(a.text()) #獲取內(nèi)容
print(a.html())
審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
節(jié)點
+關(guān)注
關(guān)注
0文章
216瀏覽量
24338 -
編碼
+關(guān)注
關(guān)注
6文章
921瀏覽量
54716 -
python
+關(guān)注
關(guān)注
54文章
4759瀏覽量
84303
發(fā)布評論請先 登錄
相關(guān)推薦
Python庫解析:通過庫實現(xiàn)代理請求與數(shù)據(jù)抓取
在Python中,有多個庫可以幫助你實現(xiàn)代理請求和數(shù)據(jù)抓取。這些庫提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應、解析HTML/XML/JSON數(shù)據(jù),以及進
opencv-python和opencv一樣嗎
不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件庫,它提供了大量的圖像和視頻處理功能。OpenCV-Python
深度學習常用的Python庫
深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經(jīng)網(wǎng)絡(luò)來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的庫支持,成為了深度學習研究和應用的首選工具。本文將深入探討
ESP32下如何加自定義Python庫?
我看官方有提供Micropython的bin文件,但我想根據(jù)自己外設(shè)擴充一下Python庫,這個應該從哪里入手?
之前做過RTT系統(tǒng)的python庫擴充,RTT有提供Micropyth
發(fā)表于 06-18 06:27
python解析netflow數(shù)據(jù)到csv的流程詳解
本文主要講解了linux下通過tcpdump抓取netflow數(shù)據(jù)包,并將其導入到wireshark進行解析,然后通過wireshark導出數(shù)據(jù)為json文件,再通過python腳本將其解析為csv文件以便做數(shù)據(jù)分析。
ArkTS語言基礎(chǔ)類庫-解析
多線程并發(fā),支持Worker線程和宿主線程之間進行通信,開發(fā)者需要主動創(chuàng)建和關(guān)閉Worker線程。
提供常見的[容器類庫增、刪、改、查]的能力。
提供XML、URL、URI構(gòu)造和解析的能力。
XML
發(fā)表于 02-20 16:44
phpy:PHP與Python互調(diào)用庫
phpy 是識沃團隊最新推出的開源項目,目標是為 PHP 引入 Python 生態(tài),來彌補 PHP 生態(tài)的空缺和不足。phpy 使得 PHP 可以調(diào)用所有 Python 的包。 包括當下非常流行
1000+常用Python庫一覽
lxml,快速,易用、靈活的HTML和XML處理庫,功能超強,在遇到有缺陷、不規(guī)范的xml時,Python自帶的xml處理器可能無法解析。報錯時,程序會嘗試再用lxml的修復模式解析。
python第三方庫有哪些
Python 作為一門功能強大的編程語言,擁有豐富的第三方庫,幾乎覆蓋了各個領(lǐng)域的應用。下面是一些常見且廣泛應用的 Python 第三方庫的總結(jié),希望能為您提供幫助。 NumPy(Nu
python窗口圖形界面編程
庫,幫助開發(fā)者快速構(gòu)建具有良好用戶體驗的窗口應用程序。 在Python的GUI編程領(lǐng)域,最常用的庫是Tkinter。Tkinter是Python的標準GUI
python寫完程序之后怎么運行
Python是一門簡潔、易學的編程語言,被廣泛應用于數(shù)據(jù)分析、人工智能等領(lǐng)域。在學習Python編程的過程中,了解程序的運行機制是至關(guān)重要的。本文將詳盡解析Python程序的運行過程,
python中如何引入math庫
在Python中,要使用math庫,首先需要先引入它。math庫是Python的一個標準庫,它提供了許多數(shù)學函數(shù)和常數(shù)。通過使用math
如何應用Python解決5個常見運維問題?
解析日志文件并提取有用信息是運維工程師經(jīng)常要進行的任務之一。使用 Python 腳本可以方便地實現(xiàn)這一操作。 在 Python 中,可以使用第三方庫 regex 來
發(fā)表于 11-02 10:06
?308次閱讀
什么是pyquery?如何使用pyquery
所講的解析庫xpath與Beautiful Soup比起來更加靈活與簡便,并且增加了添加類和移除節(jié)點的操作,這些操作有時會為提取信息時帶來極大的便利。 使用pyquery 如果你對web有所了解,并且比較
Newspaper:用于提取和整理文章的python庫
Newspaper 是一個很棒的python庫,用于提取和整理文章。 它有以下的優(yōu)點: 多線程文章下載框架 識別新聞網(wǎng)址 從html提取文本 從html提取頂部圖像 從html提取所有圖像 從文本
評論