PyQuery介紹與安裝
PyQuery庫(kù)也是一個(gè)非常強(qiáng)大又靈活的網(wǎng)頁(yè)解析庫(kù),如果你有前端開(kāi)發(fā)經(jīng)驗(yàn)的,都應(yīng)該接觸過(guò)jQuery,那么PyQuery就是你非常絕佳的選擇。
PyQuery 是 Python 仿照 jQuery 的嚴(yán)格實(shí)現(xiàn)。
語(yǔ)法與 jQuery 幾乎完全相同,所以不用再去費(fèi)心去記一些奇怪的方法了。
官網(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" # 因?yàn)樵幋a為ISO-8859-1
#print(res.text)
doc = pq(res.text)
print(doc("title"))
PyQuery的使用
首先創(chuàng)建一個(gè)html文件:my.html 用于測(cè)試pyquery
的解析效果
我的常用鏈接
使用pyquery
解析my.html
# 讀取my.html的文件內(nèi)容,并使用pyquery來(lái)查找節(jié)點(diǎn)
from pyquery import PyQuery as pq
doc = pq(filename='my.html',encoding="utf-8")
print(doc('title')) #通過(guò)html標(biāo)簽名獲取元素節(jié)點(diǎn)
print(doc('#hid')) #獲取id屬性值為hid的元素節(jié)點(diǎn)
print(doc('.bb')) #獲取class屬性值為bb的元素節(jié)點(diǎn)
print(doc('title,h3')) #選擇符組的使用
print(doc("ul li.shop a")) #關(guān)聯(lián)選擇符的使用
print(doc("a")) #獲取所有a
print(doc("a:first")) #獲取第一個(gè)a
print(doc("a:last")) #獲取最后一個(gè)a
print(doc("a:lt(2)")) #獲取前連個(gè)a
print(doc("a:eq(2)")) #獲取索引位置2的a(第三個(gè))
print(doc('a[)) #獲取指定屬性值的節(jié)點(diǎn)
print("="*60)
# 節(jié)點(diǎn)的二次篩選:
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é)點(diǎn)
#print(doc("a.bb").parents()) #獲取指定元素的所有父節(jié)點(diǎn)
print(doc("a.bb").parent().siblings()) #獲取兄弟節(jié)點(diǎn)
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())
審核編輯:湯梓紅
-
節(jié)點(diǎn)
+關(guān)注
關(guān)注
0文章
222瀏覽量
24906 -
編碼
+關(guān)注
關(guān)注
6文章
967瀏覽量
55617 -
python
+關(guān)注
關(guān)注
56文章
4825瀏覽量
86445
發(fā)布評(píng)論請(qǐng)先 登錄
?如何在虛擬環(huán)境中使用 Python,提升你的開(kāi)發(fā)體驗(yàn)~

Python Connector for InterBase連接解決方案
使用Python實(shí)現(xiàn)xgboost教程
適用于MySQL和MariaDB的Python連接器:可靠的MySQL數(shù)據(jù)連接器和數(shù)據(jù)庫(kù)

適用于Oracle的Python連接器:可訪問(wèn)托管以及非托管的數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)事件觸發(fā)的設(shè)置和應(yīng)用
使用Python進(jìn)行串口通信的案例
如何使用Python構(gòu)建LSTM神經(jīng)網(wǎng)絡(luò)模型
Python庫(kù)解析:通過(guò)庫(kù)實(shí)現(xiàn)代理請(qǐng)求與數(shù)據(jù)抓取
陀螺儀LSM6DSOW開(kāi)發(fā)(5)----MotionFX庫(kù)解析空間坐標(biāo)

評(píng)論