Scrapy框架的学习(1.scrapy的概念以及scrapy的工作流程)
?scrapy的概念
1.為什么要學(xué)習(xí)Scrapy?
? ? ?因為會讓我們的爬蟲更快、更強(qiáng)
2.什么是scrapy?
? ? ?(1)?Scrapy是一個為了爬取網(wǎng)站數(shù)據(jù),提取結(jié)構(gòu)性數(shù)據(jù)而編寫的應(yīng)用框架,我們只需要實現(xiàn)少量的代碼,就能夠快速的抓取
? ? *** 框架:特定需求下的所有功能***? ,? 知道框架和模塊的區(qū)別
? ? (2)Scrapy 使用了 Twisted['tw?st?d]異步網(wǎng)絡(luò)框架,可以加快我們的下載速度。
? ? (3)Scrapy的官方文檔? ??http://scrapy-chs.readthedocs.io/zh_CN/1.0/intro/overview.html
3. ?異步與非阻塞的區(qū)別? ? (?補(bǔ)充)
? ? ?
? ?(1)? ?同步或異步指的是這樣的一個過程??
? ? ? ? ? 阻塞或非阻塞指的是拿到結(jié)果之前的狀態(tài)
?(2)? ?異步:調(diào)用在發(fā)出之后,這個調(diào)用就直接返回,不管有無結(jié)果
? (3)非阻塞:關(guān)注的是程序在等待調(diào)用結(jié)果(消息,返回值)時的狀態(tài),指在不能立刻得到結(jié)果之前,該調(diào)用不會阻塞當(dāng)前線程。
?scrapy的工作流程
1.? 之前使用的爬蟲流程,獲取響應(yīng)內(nèi)容,提取數(shù)據(jù)、保存數(shù)據(jù)等
? ? 如圖:
2.scrapy的爬蟲流程
??
? 圖的解釋:
? ??
? ? (1)? 中間? Scrapy Engline (scrapy 引擎)? : 這個四個大模塊是獨立的,彼此之間沒有聯(lián)系,之間的聯(lián)系都是通過
? ? ? ? ?scrapy引擎來進(jìn)行調(diào)度,scrapy引擎讓誰執(zhí)行誰就執(zhí)行,類似于指揮交通的交警
? ?(2)Downloader Middlewares (下載中間鍵):引擎會先把Requets對象交給下載中間鍵再然后交給Downloader
? ?(3) Spider Middlewares (爬蟲中間鍵) : 引擎會先把response交給爬蟲中間鍵再交給Spiders
? ? (4)? 因為有引擎的存在,所以可以在中間鍵進(jìn)行一些處理?
?
總結(jié)
以上是生活随笔為你收集整理的Scrapy框架的学习(1.scrapy的概念以及scrapy的工作流程)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Echarts(自己整理的一些散点图、饼
- 下一篇: Scrapy框架的学习(2.scrapy