最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中的Xpath和lxml庫(kù)的使用詳解

 更新時(shí)間:2023年12月06日 10:00:55   作者:凌冰_  
這篇文章主要介紹了Python中的Xpath和lxml庫(kù)的使用詳解,XPath即 XML路徑語(yǔ)言,它是一門(mén)在 XML 文檔中查找信息的語(yǔ)言,最初被用來(lái)搜尋 XML 文檔,同時(shí)它也適用于搜索 HTML 文檔,因此,在爬蟲(chóng)過(guò)程中可以使用 XPath 來(lái)提取相應(yīng)的數(shù)據(jù),需要的朋友可以參考下

一、Xpath表達(dá)式

XPath(全稱:XML Path Language)即 XML 路徑語(yǔ)言,它是一門(mén)在 XML 文檔中查找信息的語(yǔ)言,最初被用來(lái)搜尋 XML 文檔,同時(shí)它也適用于搜索 HTML 文檔。

因此,在爬蟲(chóng)過(guò)程中可以使用 XPath 來(lái)提取相應(yīng)的數(shù)據(jù)。

Xpath節(jié)點(diǎn):有父、子、同代、先輩、后代節(jié)點(diǎn)

<?xml version="1.0" encoding="utf-8"?>
<shop>
    <book>
      <title lang="zh-CN">java</title>
      <name>Java編程思想</name>
      <year>2011</year>
      <address>www.baidu.com</address>
    </book>
</shop>

說(shuō)明:

  • title name year address 都是 book 的子節(jié)點(diǎn)
  • book 是 title name year address  父節(jié)點(diǎn)
  • title name year address  屬于同代節(jié)點(diǎn)
  • title 元素的先輩節(jié)點(diǎn)是 book shop
  • shop 的后代節(jié)點(diǎn)是 book title name year address

二、Xpath基本語(yǔ)法

1) 基本語(yǔ)法

2) xpath通配符

xpath('/div/*')選取div下的所有子節(jié)點(diǎn)xpath('/div[@*]')選取所有帶屬性的div節(jié)點(diǎn)

3) 多路徑匹配

xpath表達(dá)式1 | xpath表達(dá)式2 | xpath表達(dá)式3

xpath('//div|//table') 選取所有的div和table節(jié)點(diǎn)

4)功能函數(shù)

三、lxml庫(kù)

lxml 是 Python 的第三方解析庫(kù),完全使用 Python 語(yǔ)言編寫(xiě),它對(duì) Xpath 表達(dá)式提供了良好的支持,因此能夠了高效地解析 HTML/XML 文檔。

本節(jié)講解如何通過(guò) lxml 庫(kù)解析 HTML 文檔。

安裝lxml庫(kù)

pip3 install lxml

lxml使用流程

1) 導(dǎo)入模塊

from lxml import etree

2)創(chuàng)建解析對(duì)象

parse_html = etree.HTML(html)

3) 調(diào)用xpath表達(dá)式

r_list = parse_html.xpath('xpath表達(dá)式')

4) lxml庫(kù)數(shù)據(jù)提取

print(r_list)

四、實(shí)戰(zhàn)案例

豆瓣書(shū)店

#豆瓣書(shū)店
import requests
from lxml import  etree
 
if __name__ == '__main__':
    url='https://market.douban.com/book/?utm_campaign=book_nav_freyr&utm_source=douban&utm_medium=pc_web'
    headers_={
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36"
    }
    res=requests.get(url,headers_)
    # print(res.text)
    html=etree.HTML(res.text)
    #獲取所有的li
    lis=html.xpath('.//li[@class="book-item"]')
    #循環(huán)
    for li in lis:
        #獲取li下的圖片
        img=li.xpath('.//div[@class="panel-img"]/img/@src')[0]
        # print(img)
        # 獲取li下的標(biāo)題
        title = li.xpath('.//div[@class="panel-detail"]/div/h3/text()')[0]
        print(img, title)

到此這篇關(guān)于Python中的Xpath和lxml庫(kù)的使用詳解的文章就介紹到這了,更多相關(guān)Python中的Xpath和lxml庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python中的可變變量與不可變變量的使用

    Python中的可變變量與不可變變量的使用

    本文主要介紹了Python中的可變變量與不可變變量的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-03-03
  • Pandas讀取并修改excel的示例代碼

    Pandas讀取并修改excel的示例代碼

    這篇文章主要介紹了Pandas讀取并修改excel的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • CPython 垃圾收集器檢測(cè)循環(huán)引用詳解

    CPython 垃圾收集器檢測(cè)循環(huán)引用詳解

    這篇文章主要為大家介紹了CPython 垃圾收集器檢測(cè)循環(huán)引用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • 學(xué)習(xí)python的前途 python掙錢(qián)

    學(xué)習(xí)python的前途 python掙錢(qián)

    在本文里我們給大家整理了關(guān)于學(xué)習(xí)python的前途以及python掙錢(qián)的方法整理,有興趣的朋友們閱讀下。
    2019-02-02
  • Pytorch用Tensorboard來(lái)觀察數(shù)據(jù)

    Pytorch用Tensorboard來(lái)觀察數(shù)據(jù)

    這篇文章主要介紹了Pytorch用Tensorboard來(lái)觀察數(shù)據(jù),上一篇文章我們講解了關(guān)于Pytorch?Dataset的數(shù)據(jù)處理,這篇我們就來(lái)講解觀察數(shù)據(jù),下面具體相關(guān)資料,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-12-12
  • python編程之requests在網(wǎng)絡(luò)請(qǐng)求中添加cookies參數(shù)方法詳解

    python編程之requests在網(wǎng)絡(luò)請(qǐng)求中添加cookies參數(shù)方法詳解

    這篇文章主要介紹了python編程之requests在網(wǎng)絡(luò)請(qǐng)求中添加cookies參數(shù)方法詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-10-10
  • Python腳本輕松實(shí)現(xiàn)檢測(cè)麥克風(fēng)功能

    Python腳本輕松實(shí)現(xiàn)檢測(cè)麥克風(fēng)功能

    在進(jìn)行音頻處理或開(kāi)發(fā)需要使用麥克風(fēng)的應(yīng)用程序時(shí),確保麥克風(fēng)功能正常是非常重要的,本文將介紹一個(gè)簡(jiǎn)單的Python腳本,能夠幫助我們檢測(cè)本地麥克風(fēng)的功能,需要的可以參考下
    2025-08-08
  • 簡(jiǎn)單介紹Python的Django框架加載模版的方式

    簡(jiǎn)單介紹Python的Django框架加載模版的方式

    這篇文章主要介紹了Python的Django框架加載模版的方式,包括一些對(duì)加載順序的介紹,需要的朋友可以參考下
    2015-07-07
  • 基于Python編寫(xiě)一個(gè)MP3分割工具

    基于Python編寫(xiě)一個(gè)MP3分割工具

    這篇文章主要為大家詳細(xì)介紹了如何基于Python編寫(xiě)一個(gè)MP3分割工具,可以將MP4轉(zhuǎn)成Mp3并且按時(shí)間或按歌曲分割,感興趣的小伙伴可以了解下
    2025-02-02
  • pytorch1.0中torch.nn.Conv2d用法詳解

    pytorch1.0中torch.nn.Conv2d用法詳解

    今天小編就為大家分享一篇pytorch1.0中torch.nn.Conv2d用法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-01-01

最新評(píng)論

永仁县| 临汾市| 宁晋县| 海门市| 宝应县| 会理县| 兴海县| 元氏县| 马关县| 福州市| 东安县| 朝阳市| 泊头市| 乌拉特后旗| 宣恩县| 佛学| 吉隆县| 永春县| 兰考县| 永康市| 隆安县| 南城县| 潮安县| 方山县| 漠河县| 沭阳县| 高州市| 凯里市| 长沙县| 稻城县| 东方市| 平顶山市| 张家口市| 湘乡市| 武陟县| 丁青县| 隆回县| 永州市| 渝中区| 龙井市| 集贤县|