吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

python解析庫的使用--PyQuery

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-03-22 16:07 ? 次閱讀

PyQuery介紹與安裝

PyQuery庫也是一個非常強大又靈活的網頁解析庫,如果你有前端開發(fā)經驗的,都應該接觸過jQuery,那么PyQuery就是你非常絕佳的選擇。

PyQuery 是 Python 仿照 jQuery 的嚴格實現(xiàn)。

語法與 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的使用

首先創(chuàng)建一個html文件:my.html 用于測試pyquery的解析效果


我的常用鏈接

使用pyquery解析my.html


# 讀取my.html的文件內容,并使用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")) #關聯(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")) #在結果的基礎上再次查找
print(lilist.children("a.bb")) #在結果的基礎上再次查找

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())  #獲取內容
    print(a.html()) 




審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 節(jié)點
    +關注

    關注

    0

    文章

    220

    瀏覽量

    24528
  • 編碼
    +關注

    關注

    6

    文章

    957

    瀏覽量

    54955
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    85041
收藏 人收藏

    評論

    相關推薦

    使用Python實現(xiàn)xgboost教程

    裝: bash復制代碼conda install -c conda-forge xgboost 2. 導入必要的 在你的Python腳本或Jupyter Notebook中,導入必要的
    的頭像 發(fā)表于 01-19 11:21 ?403次閱讀

    適用于MySQL和MariaDB的Python連接器:可靠的MySQL數據連接器和數據

    和 MariaDB 數據服務器以及托管數據服務,以對存儲的數據執(zhí)行創(chuàng)建、讀取、更新和刪除操作。該解決方案完全實現(xiàn)了 Python DB API 2.0 規(guī)范,并作為 Windows、macOS
    的頭像 發(fā)表于 01-17 12:18 ?123次閱讀
    適用于MySQL和MariaDB的<b class='flag-5'>Python</b>連接器:可靠的MySQL數據連接器和數據<b class='flag-5'>庫</b>

    適用于Oracle的Python連接器:可訪問托管以及非托管的數據

    適用于 Oracle 的 Python 連接器 適用于 Oracle 的 Python 連接器是一種可靠的連接解決方案,用于從 Python 應用程序訪問 Oracle 數據服務器和
    的頭像 發(fā)表于 01-14 10:30 ?108次閱讀

    使用Python進行串口通信的案例

    當然!以下是一個使用Python進行串口通信的簡單示例。這個示例展示了如何配置串口、發(fā)送數據以及接收數據。我們將使用 pyserial ,這是一個非常流行的用于串口通信的Python
    的頭像 發(fā)表于 11-22 09:11 ?482次閱讀

    如何使用Python構建LSTM神經網絡模型

    構建一個LSTM(長短期記憶)神經網絡模型是一個涉及多個步驟的過程。以下是使用Python和Keras構建LSTM模型的指南。 1. 安裝必要的 首先,確保你已經安裝了Python
    的頭像 發(fā)表于 11-13 10:10 ?565次閱讀

    Python解析:通過實現(xiàn)代理請求與數據抓取

    Python中,有多個可以幫助你實現(xiàn)代理請求和數據抓取。這些提供了豐富的功能和靈活的API,使得你可以輕松地發(fā)送HTTP請求、處理響應、解析HTML/XML/JSON數據,以及進
    的頭像 發(fā)表于 10-24 07:54 ?231次閱讀

    陀螺儀LSM6DSOW開發(fā)(5)----MotionFX解析空間坐標

    本文將探討如何使用MotionFX解析空間坐標。MotionFX是一種用于傳感器融合的強大工具,可以將加速度計、陀螺儀和磁力計的數據融合在一起,實現(xiàn)精確的姿態(tài)和位置估計。本文將介紹如何初始化
    的頭像 發(fā)表于 08-15 18:13 ?1773次閱讀
    陀螺儀LSM6DSOW開發(fā)(5)----MotionFX<b class='flag-5'>庫</b><b class='flag-5'>解析</b>空間坐標

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的和框架以及強大的社區(qū)支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發(fā)表于 08-01 15:27 ?2360次閱讀

    Python建模算法與應用

    上成為理想的腳本語言,特別適用于快速的應用程序開發(fā)。本文將詳細介紹Python在建模算法中的應用,包括常見的建模算法、Python在建模中的優(yōu)勢、常用以及實際案例。
    的頭像 發(fā)表于 07-24 10:41 ?663次閱讀

    opencv-python和opencv一樣嗎

    不一樣。OpenCV(Open Source Computer Vision Library)是一個開源的計算機視覺和機器學習軟件,它提供了大量的圖像和視頻處理功能。OpenCV-Python
    的頭像 發(fā)表于 07-16 10:38 ?1405次閱讀

    深度學習常用的Python

    深度學習作為人工智能的一個重要分支,通過模擬人類大腦中的神經網絡來解決復雜問題。Python作為一種流行的編程語言,憑借其簡潔的語法和豐富的支持,成為了深度學習研究和應用的首選工具。本文將深入探討
    的頭像 發(fā)表于 07-03 16:04 ?728次閱讀

    ESP32下如何加自定義Python

    我看官方有提供Micropython的bin文件,但我想根據自己外設擴充一下Python,這個應該從哪里入手? 之前做過RTT系統(tǒng)的python擴充,RTT有提供Micropyth
    發(fā)表于 06-18 06:27

    python解析netflow數據到csv的流程詳解

    本文主要講解了linux下通過tcpdump抓取netflow數據包,并將其導入到wireshark進行解析,然后通過wireshark導出數據為json文件,再通過python腳本將其解析為csv文件以便做數據分析。
    的頭像 發(fā)表于 05-01 11:18 ?727次閱讀
    <b class='flag-5'>python</b><b class='flag-5'>解析</b>netflow數據到csv的流程詳解

    python 學習:在內網中 python-numpy 安裝方法,升級pip3版本的指令

    指令格式如下:先下載numpy到C盤具體位置 手動安裝指令如下: pip install c:\\\\users\\\\sesa738142
    發(fā)表于 04-22 17:18

    ArkTS語言基礎類-解析

    多線程并發(fā),支持Worker線程和宿主線程之間進行通信,開發(fā)者需要主動創(chuàng)建和關閉Worker線程。 提供常見的[容器類增、刪、改、查]的能力。 提供XML、URL、URI構造和解析的能力。 XML
    發(fā)表于 02-20 16:44
    扑克百家乐官网麻将筹码防伪| 百家乐官网现金网信誉排名| 梦幻城百家乐官网的玩法技巧和规则 | 机器百家乐官网软件| 百家乐官网站| 百家乐官网赢赌场百家乐官网 | 百家乐官网牌机的破解法| 大发888娱乐真钱游戏 下载| 新东方百家乐官网的玩法技巧和规则 | 888娱乐城返水| 加多宝百家乐官网的玩法技巧和规则 | 乐天百家乐官网的玩法技巧和规则 | 金赞百家乐的玩法技巧和规则| 百家乐官网园sun811| 六合彩报| 逍遥坊百家乐官网的玩法技巧和规则 | 帝王娱乐城开户| 威尼斯人娱乐城注册| 利来百家乐官网的玩法技巧和规则| 百家乐官网视频看不到| 博彩投注| 真人百家乐好不好玩| 如何看百家乐官网的路纸| 七乐娱乐城| 全讯网直播| 真人百家乐赌场娱乐网规则| 百家乐休闲游戏| 百家乐官网最大的赌局| 南陵县| 大发888 bet娱乐场下载 | 百家乐官网双龙出| 一二博国际| 德州扑克术语| 百家乐高手论| 百家乐网投打法| 百家乐学院教学视频| 百家乐高手qq| 百家乐官网如何打轮盘| 樱桃木百家乐官网桌| 百家乐官网对子计算方法| 百家乐官网看不到视频|