爬蟲的具體選擇根據(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)該是緊接著的不加//的路徑然后后面可以隨意,可以跳級