溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

發(fā)布時間:2021-07-24 16:07:49 來源:億速云 閱讀:96 作者:Leah 欄目:數(shù)據(jù)庫

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù),相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

/具體實現(xiàn)/

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

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

Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)

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

看完上述內(nèi)容,你們掌握Scrapy中怎么利用Xpath選擇器從網(wǎng)頁中采集目標數(shù)據(jù)的方法了嗎?如果還想學到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI