日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python爬虫xpath教程_使用 Xpath 进行爬虫开发

發(fā)布時間:2023/12/2 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python爬虫xpath教程_使用 Xpath 进行爬虫开发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

使用 Xpath 進(jìn)行爬蟲開發(fā)

Xpath( XML Path Language, XML路徑語言),是一種在 XML 數(shù)據(jù)中查找信息的語言,現(xiàn)在,我們也可以使用它在 HTML 中查找需要的信息。

既然談到 Xpath 是一門語言,當(dāng)然它就會有自己的一些特定的語法。我們這里羅列一些經(jīng)常使用的語法,熟悉下面的基本語法之后,就能滿足我們?nèi)粘5呐老x開發(fā)所用。

本小節(jié)主要內(nèi)容:

Xpath的基本概念

Xpath的基本語法

Xpath實戰(zhàn)

學(xué)習(xí)目標(biāo):

熟練掌握常用的 Xpath 的基本操作

1. 開發(fā)前的準(zhǔn)備

前面我們介紹的 XPath 基本的語法和基本操作,下面我們通過 lxml 庫,來熟悉一下 XPath 的使用。

首先,我們需要一個測試文件,文件如下,文件名為 xpath_test.xml:

python item

java item

C item

java item

java item

java item

2. 基本語法

2.1 節(jié)點之間的關(guān)系

父節(jié)點:每個元素都有一個父親節(jié)點;

子節(jié)點:每個元素節(jié)點可以有零個,一個或者多個父親節(jié)點;

兄弟節(jié)點:相同父親節(jié)點的節(jié)點;

先輩節(jié)點:一個元素的父親節(jié)點的父親節(jié)點;

后輩節(jié)點:一個元素的子節(jié)點的子節(jié)點。

表達(dá)式基本語法

表達(dá)式

功能簡介

node

選取node下面的所有的節(jié)點

/node

斜杠是代表絕對路徑,這個表達(dá)式語法的意思就是選擇根上的node

//node

選擇所有的node的節(jié)點,與XML的位置無關(guān)

.

選擇當(dāng)前節(jié)點

選擇當(dāng)前節(jié)點的父親節(jié)點

node/child

選取node子節(jié)點的所有的child元素

node//child

選取所有后備節(jié)點的chiid信息

//@href

選取所有的href的屬性

2.2 謂語與通配符

表達(dá)式

功能簡介

/books/python[1]

選取books子元素中的第一個python元素

/books/python[last()]

選取books子元素中的最后一個元素

/books/python[position()<10]

選取books子元素的前9個元素

.

選擇當(dāng)前節(jié)點

選擇當(dāng)前節(jié)點的父親節(jié)點

node/child

選取node子節(jié)點的所有的child元素

node//child

選取所有后備節(jié)點的chiid信息

//@href

選取所有的href的屬性

3. 開發(fā)案例

開發(fā)案例一:

從xml中查找出所有的’li’標(biāo)簽

from lxml import etree

emt = etree.parse('text.xml')

rst = emt.xpath('//li')

運行結(jié)果如下圖所示:

開發(fā)案例二:

從xml中查找出所有的’li’標(biāo)簽的所有class

from lxml import etree

emt = etree.parse('text.xml')

rst = emt.xpath('//li/@class')

運行結(jié)果如下圖所示:

開發(fā)案例三:

從xml中查找出所有的’li’標(biāo)簽下面的href為a.html的標(biāo)簽

from lxml import etree

emt = etree.parse('text.xml')

rst = emt.xpath('//li/a[@href="a.html"]')

運行結(jié)果如下圖所示:

4. 小結(jié)

XPath 是一種查詢語言,它是通過路徑來尋找相應(yīng)的信息,正如它的英文名稱 path 一樣,通過不同種X路徑,最終找到自己需要的信息。通過 XPath,我們不但可以搜索 XML,也可以搜索 HTML。

通過案例,我們基本熟悉了 XPath 的基本使用,這也為我們后面學(xué)習(xí) BeautifulSoup 打下了良好的基礎(chǔ),XPath 為我們從復(fù)雜的文檔中,快速定位信息提供了良好的支持,也為我們后面處理和整理爬蟲爬下來的信息奠定了根基。

原文地址:https://blog.csdn.net/q7825103/article/details/105379906

文章來源與用戶投稿或網(wǎng)絡(luò)采集,如果您是本文的作者,發(fā)現(xiàn)版權(quán)或轉(zhuǎn)載方式問題請右側(cè)郵箱聯(lián)系管理員。

670人推薦

總結(jié)

以上是生活随笔為你收集整理的python爬虫xpath教程_使用 Xpath 进行爬虫开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。