Python 网络爬虫笔记9 -- Scrapy爬虫框架
生活随笔
收集整理的這篇文章主要介紹了
Python 网络爬虫笔记9 -- Scrapy爬虫框架
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Python 網絡爬蟲筆記9 – Scrapy爬蟲框架
Python 網絡爬蟲系列筆記是筆者在學習嵩天老師的《Python網絡爬蟲與信息提取》課程及筆者實踐網絡爬蟲的筆記。
課程鏈接:Python網絡爬蟲與信息提取
參考文檔:
Requests 官方文檔(英文)
Requests 官方文檔(中文)
Beautiful Soup 官方文檔
re 官方文檔
Scrapy 官方文檔(英文)
Scrapy 官方文檔(中文)
一、安裝與簡介
1、安裝
# 安裝 pip install scrapy# 測試 scrapy ‐h2、簡介
- Scrapy是一個快速、功能強大的網絡爬蟲框架
- Scrapy不是一個函數功能庫,而是一個爬蟲框架。爬蟲框架是實現爬蟲功能的一個軟件結構和功能組件的集合。爬蟲框架是一個半成品,能夠幫助用戶實現專業網絡爬蟲。
二、Scrapy 框架
1、Scrapy 框架圖
2、Scrapy 框架結構(5+2)
Engine: 不需要用戶修改
- 控制所有模塊之間的數據流,不間斷從Scheduler處獲得爬取請求,直至請求為空
- 根據條件觸發事件
Downloader: 不需要用戶修改
- 根據請求下載網頁
Scheduler: 不需要用戶修改
- 對所有爬取請求進行調度管理
Downloader Middleware: 用戶可以編寫配置代碼
- 目的:實施Engine、Scheduler和Downloader之間進行用戶可配置的控制
- 功能:修改、丟棄、新增請求或響應
Spider: 需要用戶編寫配置代碼
- 解析Downloader返回的響應(Response)
- 產生爬取項(scraped item)
- 產生額外的爬取請求(Request)
Item Pipelines: 需要用戶編寫配置代碼
- 以流水線方式處理Spider產生的爬取項
- 由一組操作順序組成,類似流水線,每個操作是一個 Item Pipeline 類型
- 可能操作包括:清理、檢驗和查重爬取項中的HTML數據、將數據存儲到數據庫
Spider Middleware: 用戶可以編寫配置代碼
- 目的:對請求和爬取項的再處理
- 功能:修改、丟棄、新增請求或爬取項
3、Scrapy 框架數據流
三、Scrapy 命令
1、使用方式
- Scrapy是給程序員用的專業爬蟲框架,提供Scrapy命令行操作方式
- 使用windows時,直接打開cmd輸入命令即可
2、常用命令
| startproject | 創建一個新工程 | scrapy startproject < name> [dir] |
| genspider | 創建一個爬蟲 | scrapy genspider [options] < name> < domain> |
| settings | 獲得爬蟲配置信息 | scrapy settings [options] |
| crawl | 運行一個爬蟲 | scrapy crawl < spider> |
| list | 列出工程中所有爬蟲 | scrapy list |
| shell | 啟動URL調試命令行 | scrapy shell [url] |
總結
以上是生活随笔為你收集整理的Python 网络爬虫笔记9 -- Scrapy爬虫框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 登录用户名和密码相同问题
- 下一篇: Python 网络爬虫笔记10 -- S