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安裝圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
淺談Python3.10 和 Python3.9 之間的差異
多年來,Python 進行了大量升級,并且在新版本中添加了許多功能。本文就詳細的介紹 一下Python3.10 和 Python3.9差異,感興趣的朋友可以了解一下2021-09-09
詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序
這篇文章主要介紹了詳解python實現(xiàn)識別手寫MNIST數(shù)字集的程序,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
python量化之搭建Transformer模型用于股票價格預測
這篇文章主要介紹了python量化之搭建Transformer模型用于股票價格預測,文章圍繞主題展開基于python搭建Transformer,需要的小伙伴可以參考一下2022-05-05
Linux下將Python的Django項目部署到Apache服務器
這篇文章主要介紹了Python的Django項目部署到Apache服務器上的要點總結(jié),文中針對的是wsgi連接方式,需要的朋友可以參考下2015-12-12
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

