Scrapy庫的安裝與使用

 

安裝部分數據庫

命令行執行:框架

安裝:  pip install scrapyscrapy

安裝後小測:  執行scrapy -hide

 

Scrapy爬蟲框架結構:函數

爬蟲框架:爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件的集合。命令行

 

Scrapy:5+2結構  3d

5個模塊中間件

Spiders 用戶編寫(配置) 解析Downloader返回的響應,產生爬取項,產生額外的爬取請求。blog

Item pipelines 用戶編寫(配置) 以流水線來處理Spider產生的爬取項,可能的操做包括:清理、檢驗和查重爬取項中的HTML數據、將數據存儲到數據庫。事件

Engine 已有實現       控制數據流,觸發事件,不須要用戶修改

Downloader 已有實現     根據請求來下載網頁,不須要用戶修改

Scheduler 已有實現    對全部請求進行調度,不須要用戶修改

2箇中間件

Downloader Middleware: 實施Engine、Scheduler和Downloader之間進行用戶可配置的控制。修改、丟棄、新增請求或響應。用戶能夠編寫配置代碼,也能夠不更改。

Spider Middleware:目的:對請求和爬取項的再處理。功能:修改、丟棄、新增請求或爬取項。用戶能夠編寫配置代碼。

 

Requests vs. Scrapy

相同點:

二者均可以進行頁面請求和爬取,Python爬蟲的兩個重要技術路線。

二者可用性都好,文檔豐富,入門簡單。

二者都沒有處理js、提交表單、應對驗證碼等功能(可擴展)。

不一樣點:

 很是小的需求,requests

不過小的請求,Scrapy

定製程度很高的需求(不考慮規模),自搭框架,requests>Scrapy。

 

Scrapy命令行

scrapy -h

Scrapy命令行格式:

scrapy <commad> [options][args]

Scrapy經常使用命令:

 

Scrapy爬蟲的第一個實例

1. 新建項目:

生成工程目錄

2. 在工程中產生一個Scrapy爬蟲

 

3. 配置產生的spider爬蟲

 

4. 運行爬蟲,獲取網頁

scrapy crawl demo

 

 yield關鍵字

與生成器息息相關,生成器是一個不斷產生值的函數。

包含yield語句的函數是一個生成器。

生成器每次產生一個值(yield語句),函數被凍結,被喚醒後再產生一個值。

相關文章
相關標籤/搜索