關(guān)于爬蟲選擇xpath的細節(jié)解析

爬蟲的具體選擇根據(jù)需求情形的不同,總是容易被如何書寫復(fù)雜的標簽解析困擾,我也深感其疼,網(wǎng)上資料很零散瑣粹,較為空洞理論,所以領(lǐng)悟的一些小技巧,分享給大家。


基本知識點1

就豆瓣top250對電影名的爬取進行詳解吧

標簽結(jié)構(gòu)

核心代碼如下,我們對xpath表達式寫什么進行探討

for quote in response.xpath('//div[@class="item"]'):
        yield {"電影名": quote.xpath(??).extract()}
//div[@class="info"]/div/a/span[@class="title"]/text()

匹配了網(wǎng)頁中所有的div[@class="info"],而這是打破了原有的循環(huán)。正確做法應(yīng)是去掉前面的“//”


div[@class="info"]//span/text()

在首路徑不用//后我們中途跳級路徑爬取發(fā)現(xiàn)可以找到經(jīng)篩選后的所有span元素內(nèi)容,說明中途允許跳級


div[@class="info"]//span[@class="title"][1]/text()

下面正常爬取,此時我們還可以通過將.extract()改為.extract()[1]或者.extract_first()來代替span[@class="title"][1]中[1]
span[@class="title"]/text()

此處嘗試跳級路徑,發(fā)現(xiàn)爬取不到

以上可小做總結(jié)

xpath路徑篩選之后再次篩選應(yīng)注意第二次篩選首路徑應(yīng)該是緊接著的不加//的路徑然后后面可以隨意,可以跳級

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容