PyQuery介紹與安裝
PyQuery庫也是一個非常強大又靈活的網頁解析庫,如果你有前端開發經驗的,都應該接觸過jQuery,那么PyQuery就是你非常絕佳的選擇。
PyQuery 是 Python 仿照 jQuery 的嚴格實現。
語法與 jQuery 幾乎完全相同,所以不用再去費心去記一些奇怪的方法了。
官網地址: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的使用
首先創建一個html文件:my.html 用于測試pyquery的解析效果
我的常用鏈接
使用pyquery解析my.html
# 讀取my.html的文件內容,并使用pyquery來查找節點
from pyquery import PyQuery as pq
doc = pq(filename='my.html',encoding="utf-8")
print(doc('title')) #通過html標簽名獲取元素節點
print(doc('#hid')) #獲取id屬性值為hid的元素節點
print(doc('.bb')) #獲取class屬性值為bb的元素節點
print(doc('title,h3')) #選擇符組的使用
print(doc("ul li.shop a")) #關聯選擇符的使用
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[)) #獲取指定屬性值的節點
print("="*60)
# 節點的二次篩選:
lilist = doc("ul li") #獲取ul中所有的li
print(type(lilist)) #
print(lilist.find("a.bb")) #在結果的基礎上再次查找
print(lilist.children("a.bb")) #在結果的基礎上再次查找
print(doc("a.bb").parent()) #獲取指定元素的直接父節點
#print(doc("a.bb").parents()) #獲取指定元素的所有父節點
print(doc("a.bb").parent().siblings()) #獲取兄弟節點
print("="*60)
# 遍歷:
alist = doc("a")
for a in alist.items():
print(a.attr.href)
#print(a.attr('href')) #同上
print(a.text()) #獲取內容
print(a.html())
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
節點
+關注
關注
0文章
229瀏覽量
25566 -
編碼
+關注
關注
6文章
1039瀏覽量
56971 -
python
+關注
關注
57文章
4876瀏覽量
90025
發布評論請先 登錄
相關推薦
熱點推薦
無法去除 Python VisionFive.i2c 庫的終端輸出?
燒的官方最新八月份的 debian 12 的系統。
根據這個案例安裝好了 python 環境和 VisionFive 庫。
執行下面這條代碼:
import VisionFive.i2c
發表于 02-25 06:13
1688 商品詳情 API 調用與數據解析 Python 實戰
你想要的是 1688 商品詳情 API 的 Python 調用與數據解析實戰方案,核心是完成 API 憑證配置、接口請求(含簽名)、響應數據解析、異常處理 的全流程落地,我會提供可直接運行的代碼,并
cJSON庫是什么?
cJSON庫是什么?cJSON是一個輕量級的json解析庫。使用起來非常簡單,整個庫非常地簡潔,核心功能的實現都在cJSON.c文件,非常適合閱讀源代碼來學習C語言。最近讀完這個
發表于 01-29 07:13
淘寶商品詳情API接口技術解析與實戰應用
出發,系統解析淘寶商品詳情API接口的調用機制、數據結構及典型應用場景,并附上基于Python的完整調用示例,助力開發者高效集成商品數據服務。 關鍵詞 淘寶開放平臺;商品詳情API;RESTful接口;數據解析;
Python調用API教程
兩個不同系統之間的信息交互。在這篇文章中,我們將詳細介紹Python調用API的方法和技巧。 一、用Requests庫發送HTTP請求 使用Python調用API的第一步是發送HTTP請求,通常
termux如何搭建python游戲
termux如何搭建python游戲
Termux搭建Python游戲開發環境的完整指南
一、Termux基礎環境準備
Termux是一款無需root即可在安卓設備上運行的Linux終端
發表于 08-29 07:06
C++ 與 Python:樹莓派上哪種語言更優?
Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯網項目中同樣廣受歡迎且功能強大。那么,在樹莓派項目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
數據庫數據恢復—服務器異常斷電導致Oracle數據庫故障的數據恢復案例
備份,僅有一些斷斷續續的歸檔日志。
Oracle數據庫恢復流程:
1、檢測數據庫故障情況;
2、嘗試掛起并修復數據庫;
3、解析數據庫
linux虛擬環境中調用Linux 版matlab編譯的python庫時出錯
matlab代碼編譯為CAO_python的python庫,其中cp_Main_python.m為入口文件,編譯后生成的文件有mccExcludedFiles.log、setup.py
發表于 07-18 10:40
python入門圣經-高清電子書(建議下載)
和Pygal 等強大的Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內容;
第二部分將理論付諸實踐,講解如何開發三個項目,包括簡單的Python 2D 游戲開發如何利用數據
發表于 04-10 16:53
?如何在虛擬環境中使用 Python,提升你的開發體驗~
。RaspberryPiOS預裝了Python3。干擾系統Python的安裝可能會給你的操作系統帶來問題。安裝第三方Python庫時,請務必使用正確的包管理工具。在Lin
零基礎入門:如何在樹莓派上編寫和運行Python程序?
在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運行一個簡單的Python程序。什么是Python程序?
Python在嵌入式系統中的應用場景
你想把你的職業生涯提升到一個新的水平?Python在嵌入式系統中正在成為一股不可缺少的新力量。盡管傳統上嵌入式開發更多地依賴于C和C++語言,Python的優勢在于其簡潔的語法、豐富的庫和快速的開發周期,這使得它在某些嵌入式場景
python解析庫的使用--PyQuery
評論