Python中parsel兩種獲取數(shù)據(jù)方式小結
??網(wǎng)頁解析利器parsel實戰(zhàn)
我們以實際的案例,來具體了解學習其功能。我們在這里重點講解其兩種方式。一個是XPATH,一個是CSS。我們以某網(wǎng)為例,獲取其新聞標題。
?? parsel簡介
Parsel是一個用于解析JSON數(shù)據(jù)的Python庫。它提供了一個簡單易用的API,可以輕松地從JSON文件或字符串中解析數(shù)據(jù)。可以對 HTML 和 XML 進行解析,并支持使用 XPath 和 CSS Selector 對內容進行提取和修改,同時它還融合了正則表達式提取的功能。功能靈活而又強大。
??發(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變量中。在這個例子中,我們將響應的文本內容存儲在responses.text變量中。
??解析數(shù)據(jù)
我們獲取到了網(wǎng)頁源代碼之后,我們使用parsel方法對其解析,處理網(wǎng)頁源代碼。
selector = parsel.Selector(responses.text)
我們使用 parsel 庫的 Selector 對象來選擇 responses.text 中的特定元素。
我們使用開發(fā)者工具,觀察標題在哪個標簽位置里面。

?編輯
由上圖,我們可以看到,我們標題信息就在
- 標簽里面。我們可以提取
- 標簽里面所有的內容。在這里,我們只獲取新聞的標題內容。下面我們將用兩種方式獲取。
?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> 元素,并將它們的文本內容作為列表返回。
我們這里會得到一個所有新聞的標題列表,我們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> 元素,并將它們的文本內容作為列表返回。

我們會發(fā)現(xiàn)是一樣的效果,不管怎么樣,大家都要會一種方法。
??總結
在parsel實戰(zhàn)中,我完成了一個使用 parsel 庫的選擇器來選擇 特定元素的內容。在這個實戰(zhàn)中,我使用了 xpath 和 css 方法來指定選擇的元素的位置和樣式,使用 Selector 對象來指定選擇的元素,并使用 getall 方法來獲取選擇的所有元素。
首先,我們需要更好地理解 xpath 和 css 方法的使用,以便更準確地選擇元素。其次,我們需要更好地理解 Selector 對象的使用,以便更準確地指定選擇的元素。
?到此這篇關于Python中parsel兩種獲取數(shù)據(jù)方式小結的文章就介紹到這了,更多相關Python parsel獲取內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python實現(xiàn)把xml或xsl轉換為html格式
這篇文章主要介紹了Python實現(xiàn)把xml或xsl轉換為html格式,本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-04-04
Python 在 VSCode 中使用 IPython Kernel 的方法詳解
這篇文章主要介紹了Python 在 VSCode 中使用 IPython Kernel 的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
python Manager 之dict KeyError問題的解決
今天小編就為大家分享一篇python Manager 之dict KeyError問題的解決,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12
在Django中管理Users和Permissions以及Groups的方法
這篇文章主要介紹了在Django中管理Users和Permissions以及Groups的方法,Django是最具人氣的Python web開發(fā)框架,需要的朋友可以參考下2015-07-07
Python BeautifulSoup中文亂碼問題的2種解決方法
這篇文章主要介紹了Python BeautifulSoup中文亂碼問題的2種解決方法,需要的朋友可以參考下2014-04-04

