我使用CrawlSpider結(jié)合下面的Rules來(lái)進(jìn)行自動(dòng)翻頁(yè),爬取豆瓣top250的電影信息:
rules = (
Rule(LinkExtractor(restrict_xpaths='//span[@class="next"]/a'),
callback='parse_item', follow=True),
)
因?yàn)槲蚁胍ト〉男畔⒍荚诒韺拥木W(wǎng)頁(yè)上,所以我不需要進(jìn)入到每一頁(yè)上的URL里面。
但是這樣問(wèn)題就來(lái)了,即使callback設(shè)置了處理函數(shù),但是只有當(dāng)LinkExtractor提取第二頁(yè)鏈接并生成Response的時(shí)候才會(huì)開(kāi)始調(diào)用callback函數(shù),那這樣第一頁(yè)的內(nèi)容就沒(méi)了。
網(wǎng)上搜索過(guò)一些其他方案,但是基本都是用兩個(gè)或以上的Rule(他們需要進(jìn)入到深層的URL)。如果用最基本的Spider手動(dòng)寫(xiě)翻頁(yè)代碼的話(huà)確實(shí)可以解決這個(gè)問(wèn)題,可是能不能用CrawlerSpider解決呢,因?yàn)檫@樣看起來(lái)優(yōu)雅一點(diǎn)。
添加回答
舉報(bào)
0/150
提交
取消