欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中parsel兩種獲取數(shù)據(jù)方式小結(jié)

 更新時間:2023年04月24日 09:39:44   作者:極客飛虎  
本文主要介紹了Python中parsel兩種獲取數(shù)據(jù)方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

??網(wǎng)頁解析利器parsel實戰(zhàn)

我們以實際的案例,來具體了解學習其功能。我們在這里重點講解其兩種方式。一個是XPATH,一個是CSS。我們以某網(wǎng)為例,獲取其新聞標題。

?? parsel簡介

Parsel是一個用于解析JSON數(shù)據(jù)的Python庫。它提供了一個簡單易用的API,可以輕松地從JSON文件或字符串中解析數(shù)據(jù)??梢詫?HTML 和 XML 進行解析,并支持使用 XPath 和 CSS Selector 對內(nèi)容進行提取和修改,同時它還融合了正則表達式提取的功能。功能靈活而又強大。

??發(fā)送請求

我們先確定目標網(wǎng)址,我們?yōu)榱俗屝率指玫膶W習,我們這里以中國新聞網(wǎng)為例,不講太復雜的案例。如果,想更好的提升自己,可以嘗試學習我之前發(fā)的文章。這篇文章使用的方法也是parsel。

我們發(fā)送請求,獲取數(shù)據(jù)。我們相信大家這里的代碼都會寫了。

import parsel
import requests

url = 'https://www.xxxxx.com/importnews.html'

responses = requests.get(url)
responses.encoding=responses.apparent_encoding
print(responses.text)

我們使用requests.get()函數(shù)來發(fā)送HTTP請求,并將響應存儲在responses變量中。在這個例子中,我們將響應的文本內(nèi)容存儲在responses.text變量中。

??解析數(shù)據(jù)

我們獲取到了網(wǎng)頁源代碼之后,我們使用parsel方法對其解析,處理網(wǎng)頁源代碼。

selector = parsel.Selector(responses.text)

我們使用 parsel 庫的 Selector 對象來選擇 responses.text 中的特定元素。

我們使用開發(fā)者工具,觀察標題在哪個標簽位置里面。

?編輯

由上圖,我們可以看到,我們標題信息就在

  • 標簽里面。我們可以提取
  • 標簽里面所有的內(nèi)容。在這里,我們只獲取新聞的標題內(nèi)容。下面我們將用兩種方式獲取。

?XPATH方式

我們很容易獲取到了標簽所在的位置,大家不會寫的話,可以右擊copy—xpath。我們來寫代碼。

titles = selector.xpath('/html/body/div[4]/div[1]/div[2]/ul/li/div[2]/a/text()').getall()

xpath 方法是 Selector 對象中的一個方法,用于指定 XPath 表達式,它可以用于選擇 HTML 元素。在這個例子中,我們使用 xpath 方法來選擇 /html/body/div[4]/div[1]/div[2]/ul/li/div[2]/a/text() 表達式指定的所有 <a> 元素,并將它們的文本內(nèi)容作為列表返回。

我們這里會得到一個所有新聞的標題列表,我們for遍歷一下。我們看看效果。

?CSS方法

我們剛剛用了XPATH的方法獲取新聞的標題,我們接下來,我們使用CSS的方法來獲取標題。

 我們這里,直接寫代碼了。

titles = selector.css('ul > li > div.dd_bt a::text').getall()

css 方法是 Selector 對象中的一個方法,用于指定 CSS 屬性,它可以用于選擇 HTML 元素。在這個例子中,我們使用 css 方法來選擇 ul > li > div.dd_bt a 表達式指定的所有 <a> 元素的文本,并將它們的樣式作為列表返回。

我們CSS語法還可以這樣寫。

titles = selector.css('.dd_bt a::text').getall()

css 方法是 Selector 對象中的一個方法,用于指定 CSS 屬性,它可以用于選擇 HTML 元素。在這個例子中,我們使用 css 方法來選擇 .dd_bt a::text 表達式指定的所有 <a> 元素,并將它們的文本內(nèi)容作為列表返回。

我們會發(fā)現(xiàn)是一樣的效果,不管怎么樣,大家都要會一種方法。

??總結(jié)

在parsel實戰(zhàn)中,我完成了一個使用 parsel 庫的選擇器來選擇 特定元素的內(nèi)容。在這個實戰(zhàn)中,我使用了 xpath 和 css 方法來指定選擇的元素的位置和樣式,使用 Selector 對象來指定選擇的元素,并使用 getall 方法來獲取選擇的所有元素。

首先,我們需要更好地理解 xpath 和 css 方法的使用,以便更準確地選擇元素。其次,我們需要更好地理解 Selector 對象的使用,以便更準確地指定選擇的元素。

?到此這篇關(guān)于Python中parsel兩種獲取數(shù)據(jù)方式小結(jié)的文章就介紹到這了,更多相關(guān)Python parsel獲取內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Linux系統(tǒng)(CentOS)下python2.7.10安裝

    Linux系統(tǒng)(CentOS)下python2.7.10安裝

    這篇文章主要為大家詳細介紹了Linux系統(tǒng)(CentOS)下python2.7.10安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Pytho樹的直徑的計算實現(xiàn)

    Pytho樹的直徑的計算實現(xiàn)

    樹的直徑是樹中任意兩個節(jié)點之間最長路徑的長度,本文主要介紹了Pytho樹的直徑的計算實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Django celery異步任務實現(xiàn)代碼示例

    Django celery異步任務實現(xiàn)代碼示例

    這篇文章主要介紹了Django celery異步任務實現(xiàn)代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 淺談Python3.10 和 Python3.9 之間的差異

    淺談Python3.10 和 Python3.9 之間的差異

    多年來,Python 進行了大量升級,并且在新版本中添加了許多功能。本文就詳細的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下
    2021-09-09
  • 詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序

    詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序

    這篇文章主要介紹了詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • python量化之搭建Transformer模型用于股票價格預測

    python量化之搭建Transformer模型用于股票價格預測

    這篇文章主要介紹了python量化之搭建Transformer模型用于股票價格預測,文章圍繞主題展開基于python搭建Transformer,需要的小伙伴可以參考一下
    2022-05-05
  • Linux下將Python的Django項目部署到Apache服務器

    Linux下將Python的Django項目部署到Apache服務器

    這篇文章主要介紹了Python的Django項目部署到Apache服務器上的要點總結(jié),文中針對的是wsgi連接方式,需要的朋友可以參考下
    2015-12-12
  • 使用numpy.ndarray添加元素

    使用numpy.ndarray添加元素

    這篇文章主要介紹了使用numpy.ndarray添加元素,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 簡單實現(xiàn)python進度條腳本

    簡單實現(xiàn)python進度條腳本

    這篇文章主要教大家如何簡單實現(xiàn)python進度條,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python?中的對象析構(gòu)函數(shù)__del__?詳情

    Python?中的對象析構(gòu)函數(shù)__del__?詳情

    這篇文章主要介紹了Python?中的對象析構(gòu)函數(shù)del詳情,Python?中的類的構(gòu)造函數(shù)???__init__???,?每當實例產(chǎn)生就會調(diào)用這個構(gòu)造函下面更多相關(guān)內(nèi)容,需要的小伙伴可以參考一下
    2022-03-03

最新評論