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