自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

在Scrapy中如何利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)——詳細教程(上篇)

開發(fā) 后端
這篇文章我們將通過Xpath表達式來進行提取數(shù)據(jù),具體教程如下,仍然以之前的網(wǎng)站為例進行說明,我們的目標數(shù)據(jù)是標題、發(fā)布日期、主題、正文內(nèi)容、點贊數(shù)、收藏數(shù)、評論數(shù)等。具體的教程如下。

 /前言/

上一篇文章我們講述了網(wǎng)頁結構和Xpath表達式語法知識,感興趣的小伙伴可以戳這篇文章:網(wǎng)頁結構的簡介和Xpath語法的入門教程。我們了解到Xpath表達式最好是通過自己進行網(wǎng)頁分析和針對性的選取唯一性的標簽進行定位,可以提高提取效率,而且還不容易出錯。

有了Xpath表達式基礎之后,這篇文章我們將通過Xpath表達式來進行提取數(shù)據(jù),具體教程如下,仍然以之前的網(wǎng)站為例進行說明,我們的目標數(shù)據(jù)是標題、發(fā)布日期、主題、正文內(nèi)容、點贊數(shù)、收藏數(shù)、評論數(shù)等。具體的教程如下。

 

/具體實現(xiàn)/


1、針對標題,在上篇文章中就有提及,其Xpath表達式有多種,任選其一即可,在scrapy shell腳本下進行調(diào)試,得到標題的提取方式,并寫入到爬蟲主體文件中。

2、接下來是發(fā)布日期的提取,仍然是以交互式的方式實現(xiàn)網(wǎng)頁與源碼之間的交互,如下圖所示。

3、而且標簽“entry-meta-hide-on-mobile”具有全局唯一性,可以很方便的定位到元素。

4、根據(jù)網(wǎng)頁結構,我們可輕易的寫出發(fā)布日期的Xpath表達式,可以在scrapy shell中先進行測試,再將選擇器表達式寫入爬蟲文件中,詳情如下圖所示。


這里有部分雜質(zhì)信息,需要利用strip()和replace()函數(shù)剔除多余的雜質(zhì),還日期一個“清白”。

5、關于文章主題標簽的Xpath表達式,可以看到其在網(wǎng)頁結構上處于日期的下方,如下圖所示。

因此可以通過更改一下發(fā)布日期的Xpath表達式,即可獲取到文章主題標簽。

6、文章主題標簽處于a標簽下,如下圖所示。

獲取到整個列表之后,利用join函數(shù)將數(shù)組中的元素以逗號連接生成一個新的字符串叫tags,然后寫入Scrapy爬蟲文件中去。

7、對于點贊數(shù),其分析方法同之前一致,找到唯一的一個標簽“vote-post-up”即可定位到數(shù)據(jù)。

8、細心的小伙伴可能會看到“vote-post-up”屬性并不是class標簽中唯一一個屬性,所以一開始的Xpath表達式匹配的內(nèi)容為空。

這里給大家安利一個小技巧,如果標簽中存在多個屬性,且屬性是唯一的時候,可以利用contains函數(shù)進行助攻,其用法是'//span[contains(@class,"vote-post-up"),務必要多加練習,否則容易忘記。根據(jù)網(wǎng)頁結構寫出Xpath表達式,調(diào)試的過程如下圖所示。

取出的點贊數(shù)是個字符串,需要利用int()將其強制轉換為數(shù)字。

未完待續(xù)~~~,下一篇文章將繼續(xù)分享Xpath表達式數(shù)據(jù)采集方法。

 

/小結/

本文基于Xpath理論基礎,主要介紹了Scrapy爬蟲框架中利用Xpath選擇器提取某個網(wǎng)頁中目標數(shù)據(jù)的方法,為后面抓取全網(wǎng)數(shù)據(jù)埋下伏筆,更精彩的操作在下篇文章奉上,希望對大家的學習有幫助。

責任編輯:姜華 來源: Python爬蟲與數(shù)據(jù)挖掘
相關推薦

2020-10-29 09:25:34

Scrapy

2020-10-25 08:15:47

Scrapy

2020-10-21 08:49:17

Scrapy

2020-11-11 10:58:59

Scrapy

2010-09-03 09:30:29

CSS選擇器

2012-01-04 11:09:10

Java采集器

2023-07-28 08:23:05

選擇器Java NIO

2015-11-17 09:37:52

網(wǎng)頁設計黃金比例

2011-06-17 13:18:17

Qt 文件

2019-11-19 15:43:07

人工智能軟件技術

2012-04-16 14:32:31

iOS選擇器代碼

2010-05-18 13:26:16

Subversion插

2010-09-07 12:56:49

id選擇器CSS

2013-08-28 09:56:46

網(wǎng)頁轉化率

2023-11-30 08:36:10

選擇器鏈接設計

2023-11-29 10:16:24

ScrapyPython

2010-09-14 14:10:36

CSS樣式表

2009-05-14 10:44:54

JQuery特殊字符ID選擇器

2012-12-27 14:08:39

Android開發(fā)顏色選擇器

2011-11-28 13:42:55

Sencha Touc組件選擇器
點贊
收藏

51CTO技術棧公眾號