Scrapy 框架

scrapy定義:

scrapy是用python 實現(xiàn)一個為了爬取網站數(shù)據、提取結構性數(shù)據而編寫的應用框架,用途非常廣泛。?

異步: 調用在發(fā)出之后,這個調用就直接返回,不管有無結果。

非阻塞:關注的是程序在等待調用結果(消息,返回值)時的狀態(tài),指在不能立刻得到結果之前,該調用不會阻塞當前線程

Scrapy Englne(引擎):

? ? 負責Spider(爬蟲)、item pipeline(管道)、Downloader(下載器)、scheduler(調度器)中間的通訊,信號、數(shù)據、傳遞等。

Scheduler(調度器):

? ? 它負責接受引擎發(fā)送過來的request請求,并按照一定的方式進行整理排隊,入隊,當引擎需要時、交還給引擎。

Downloader(下載器):

? ? 負責下載Scrapy Engine (引擎)發(fā)送過來的的所有requests請求,并將其獲取到的Responses交給Scrapy Engine(引擎),由引擎交給Spider來處理,

Spider(爬蟲):

? ? 負責處理所有Responses,從中分析提取數(shù)據,獲取ltem字段需要的數(shù)據,并將西藥跟進的URL提交給引擎,再次進入Scheduler(調度器)。

ltem Pipeline(管道):

? ? 它負責處理spider中過去到Item,并進行進行后期處理(詳細分析、過濾、存儲等)的地方。

Downloader Middlewares(下載中間件):

? ? 可以自定義擴展下載功能的組件(代理、cokies等).

Spider Middlewares(spider中間件):

? ? 可以自定義擴展和操作引擎和Spider中間通信的功能組件(比如進入Spider的Response;和從Spider出去的Requests)。

scrapy框架 可以直接用 response.css response.xpath 等解析器直接進行解析。

在scrapy框架中進行數(shù)據解析是 用到 extract()方法和extract_first('').

創(chuàng)建目錄:scrapy? startproject 爬蟲名稱

創(chuàng)建爬蟲文件: scrapy genspider 爬蟲名字 域名

運行爬蟲文件: scrapy crawl 爬蟲文件名稱

response:

response 相應結果

response.url 得到請求的url

response.text 得到相應的字符串內容

response.status 相應狀態(tài)碼

response.headers 得到響應頭部

scrapy框架下載圖片:

Scrapy提供了一個 item pipeline ,來下載屬于某個特定項目的圖片,比如,當你抓取產品時,也想把它們的圖片下載到本地。

在 settings 中可以將管道打開。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容