Python Scrapy多頁數(shù)據(jù)爬取實現(xiàn)過程解析
1.先指定通用模板
url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板
pageNum = 1
2.對parse方法遞歸處理
parse第一次調(diào)用表示的是用來解析第一頁對應頁面中的數(shù)據(jù)
對后面的頁碼的數(shù)據(jù)要進行手動發(fā)送
if self.pageNum <= 5: self.pageNum += 1 new_url = format(self.url%self.pageNum) #手動請求(get)的發(fā)送 yield scrapy.Request(new_url,callback=self.parse)
完整示例
class QiubaiSpider(scrapy.Spider): name = 'qiubai' # allowed_domains = ['www.xxx.com'] start_urls = ['https://www.qiushibaike.com/text/'] url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板 pageNum = 1 #parse第一次調(diào)用表示的是用來解析第一頁對應頁面中的段子內(nèi)容和作者 def parse(self, response): div_list = response.xpath('//*[@id="content-left"]/div') all_data = [] for div in div_list: author = div.xpath('./div[1]/a[2]/h2/text()').extract_first() content = div.xpath('./a[1]/div/span//text()').extract() content = ''.join(content) # 將解析的數(shù)據(jù)存儲到item對象 item = QiubaiproItem() item['author'] = author item['content'] = content # 將item提交給管道 yield item # item一定是提交給了優(yōu)先級最高的管道類 if self.pageNum <= 5: self.pageNum += 1 new_url = format(self.url%self.pageNum) #手動請求(get)的發(fā)送 yield scrapy.Request(new_url,callback=self.parse)
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
Python實現(xiàn)手機號自動判斷男女性別(實例解析)
這篇文章主要介紹了Python實現(xiàn)手機號自動判斷男女性別,本文性別判斷主要依靠airtest中的自動化測試實現(xiàn),通過實例代碼給大家講解的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12Python開發(fā)的單詞頻率統(tǒng)計工具wordsworth使用方法
wordsworth是字母,單詞和n元組頻率分析,用來分析文件中的單詞出現(xiàn)頻率的工具。2014-06-06python shell命令行中import多層目錄下的模塊操作
這篇文章主要介紹了python shell命令行中import多層目錄下的模塊操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03conda換源安裝torch+vscode分布式訓練調(diào)試的實現(xiàn)
本文主要介紹了conda換源安裝torch+vscode分布式訓練調(diào)試的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06Window環(huán)境下Scrapy開發(fā)環(huán)境搭建
這篇文章主要介紹了Window環(huán)境下Scrapy開發(fā)環(huán)境搭建,需要的朋友可以參考下2018-11-11