Python Scrapy多頁(yè)數(shù)據(jù)爬取實(shí)現(xiàn)過(guò)程解析
1.先指定通用模板
url = 'https://www.qiushibaike.com/text/page/%d/'#通用的url模板
pageNum = 1
2.對(duì)parse方法遞歸處理
parse第一次調(diào)用表示的是用來(lái)解析第一頁(yè)對(duì)應(yīng)頁(yè)面中的數(shù)據(jù)
對(duì)后面的頁(yè)碼的數(shù)據(jù)要進(jìn)行手動(dòng)發(fā)送
if self.pageNum <= 5: self.pageNum += 1 new_url = format(self.url%self.pageNum) #手動(dòng)請(qǐng)求(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)用表示的是用來(lái)解析第一頁(yè)對(duì)應(yīng)頁(yè)面中的段子內(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ù)存儲(chǔ)到item對(duì)象 item = QiubaiproItem() item['author'] = author item['content'] = content # 將item提交給管道 yield item # item一定是提交給了優(yōu)先級(jí)最高的管道類(lèi) if self.pageNum <= 5: self.pageNum += 1 new_url = format(self.url%self.pageNum) #手動(dòng)請(qǐng)求(get)的發(fā)送 yield scrapy.Request(new_url,callback=self.parse)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Python Scrapy框架:通用爬蟲(chóng)之CrawlSpider用法簡(jiǎn)單示例
- python網(wǎng)絡(luò)爬蟲(chóng) CrawlSpider使用詳解
- 簡(jiǎn)述python Scrapy框架
- 詳解Python的爬蟲(chóng)框架 Scrapy
- Python爬蟲(chóng)實(shí)例——scrapy框架爬取拉勾網(wǎng)招聘信息
- Python scrapy爬取小說(shuō)代碼案例詳解
- python3 Scrapy爬蟲(chóng)框架ip代理配置的方法
- python scrapy爬蟲(chóng)代碼及填坑
- Python爬蟲(chóng)Scrapy框架CrawlSpider原理及使用案例
相關(guān)文章
詳解Python中數(shù)據(jù)的多種存儲(chǔ)形式
這篇文章主要介紹了Python中數(shù)據(jù)的多種存儲(chǔ)形式,主要有JSON?文件存儲(chǔ)、CSV?文件存儲(chǔ)、關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ)及非關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-05-05Python實(shí)現(xiàn)手機(jī)號(hào)自動(dòng)判斷男女性別(實(shí)例解析)
這篇文章主要介紹了Python實(shí)現(xiàn)手機(jī)號(hào)自動(dòng)判斷男女性別,本文性別判斷主要依靠airtest中的自動(dòng)化測(cè)試實(shí)現(xiàn),通過(guò)實(shí)例代碼給大家講解的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12django模板語(yǔ)法學(xué)習(xí)之include示例詳解
寫(xiě)過(guò) Web 程序的都對(duì) include 包含文件很熟悉,那么在 Django,include 又是怎么一個(gè)機(jī)制呢?下面這篇文章主要給大家介紹了關(guān)于django模板語(yǔ)法學(xué)習(xí)之include的相關(guān)資料,需要的朋友可以參考借鑒,下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-12-12Python開(kāi)發(fā)的單詞頻率統(tǒng)計(jì)工具wordsworth使用方法
wordsworth是字母,單詞和n元組頻率分析,用來(lái)分析文件中的單詞出現(xiàn)頻率的工具。2014-06-06python shell命令行中import多層目錄下的模塊操作
這篇文章主要介紹了python shell命令行中import多層目錄下的模塊操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Python訪(fǎng)問(wèn)Redis的詳細(xì)操作
redis 提供兩個(gè)類(lèi) Redis 和 StrictRedis, StrictRedis 用于實(shí)現(xiàn)大部分官方的命令,Redis 是 StrictRedis 的子類(lèi),用于向后兼用舊版本,接下來(lái)通過(guò)本文給大家分享Python訪(fǎng)問(wèn)Redis的詳細(xì)操作,需要的朋友參考下吧2021-06-06conda換源安裝torch+vscode分布式訓(xùn)練調(diào)試的實(shí)現(xiàn)
本文主要介紹了conda換源安裝torch+vscode分布式訓(xùn)練調(diào)試的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2024-06-06python爬蟲(chóng)xpath模塊簡(jiǎn)介示例代碼
xpath是最常用且最便捷高效的一種解析方式,通用型強(qiáng),其不僅可以用于python語(yǔ)言中,還可以用于其他語(yǔ)言中,數(shù)據(jù)解析建議首先xpath,這篇文章主要介紹了python爬蟲(chóng)xpath模塊簡(jiǎn)介,需要的朋友可以參考下2023-02-02Window環(huán)境下Scrapy開(kāi)發(fā)環(huán)境搭建
這篇文章主要介紹了Window環(huán)境下Scrapy開(kāi)發(fā)環(huán)境搭建,需要的朋友可以參考下2018-11-11