在Scrapy中如何利用Xpath選擇器從網頁中采集目標數據——詳細教程(下篇)
/前言/
前幾天給大家分享了在Scrapy中如何利用Xpath選擇器從網頁中采集目標數據——詳細教程(上篇),沒來得及上車的小伙伴可以戳進去看看,今天繼續上篇的內容往下進行。
/具體實現/
9、根據點贊數采集的方法,我們可以很快的定位到收藏數,其對應的網頁結構稍微有些不同,但是分析方法是一致的,不再贅述,如下圖所示。
10、這里直接給出調試的代碼,如下圖所示。
11、不過我們需要的是其中的數字,這時候就可以利用正則表達式進行匹配,關于正則表達式的文章,之前有過連載,不熟悉正則表達式的小伙伴可以翻看歷史文章,有詳細說明的。在Pycharm中進行調試,代碼也很簡單,如下圖所示。
爾后將該代碼放入到爬蟲主體文件中即可,記得將“15 收藏”這部分替換成collection_num即可。
12、評論數相對簡單一些,其有專門的一個標簽,如下圖所示。
13、需要注意的是評論數這里的標簽不是class,而是href,需要和網頁上對應,否則取出的值為空列表。
14、同收藏數一樣,仍然要以正則表達式的形式去匹配數字,可以直接復制收藏數的代碼,然后將收藏數collection_num改為評論數的comment_num即可。
15、關于正文的提取,不同的網頁有不同的結構,而且相對復雜,這里不做細究,整體目標是將網頁內容和標簽均提取出來。分析網頁結構,發現正文內容在“entry”標簽下,如下圖所示。
16、之后在scrapyshell調試,可以得到內容的Xpath表達式,如下圖所示。
17、到這里,該網頁中的信息提取的差不多了,結合上面的分析和Xpath表達式,我們得到的整體代碼如下圖所示。
18、爾后進行Debug調試,查看代碼中獲取的內容,如下圖所示,十分清晰。
19、下圖是控制臺部分顯示出的變量結果,與代碼中顯示的內容和網頁上的信息都是保持一致的。
至此,關于Xpath表達式的具體應用教程先告一段落。總體來看,我們需要利用F12快捷鍵來審查網頁元素,爾后分析網頁結構并進行交互,然后根據網頁結構寫出Xpath表達式,習慣性的結合scrapy shell進行調試,得到調優的表達式,寫入爬蟲文件中去,最后執行爬蟲程序或者Debug調試查看最終的數據采集結果。
/小結/
本文基于Xpath理論基礎,主要介紹了Scrapy爬蟲框架中利用Xpath選擇器提取某個網頁中目標數據的方法,結合scrapy shell進行調試,得到調優的表達式,寫入爬蟲文件中去,希望對大家的學習有幫助。
想學習更多關于Python的知識,可以參考學習網址:http://pdcfighting.com/,點擊閱讀原文,可以直達噢~