Scrapy庫的安裝與使用


 

安裝部分

命令行執行:

安裝:  pip install scrapy

安裝后小測:  執行scrapy -h

 

Scrapy爬蟲框架結構:

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

 

Scrapy:5+2結構  

5個模塊

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

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語句),函數被凍結,被喚醒后再產生一個值。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM