-
1. Scrapy 介紹
經常發現使用python編寫爬蟲的相關文章,可以使用urllib2便可以簡單的實現(Python爬蟲入門三之Urllib庫的基本使用),當然如果涉及到更進階的東西比如爬取時的網站認證、內容的分析處理、重復抓取、分布式爬取等等也時間很復雜的事。所以實現一個魯棒,功能豐富的爬蟲也并不是容易的事。
本著不重復造輪子的原則,在google上或通過GitHub可以檢索到相關并成熟的針對網站爬取的框架,Scrapy就是最著名并被廣泛認可與使用的框架之一,源碼托管在GitHub上。
源代碼
Scrapy官網
官方文檔對其詳細描述:
“Scrapy是一個為了爬取網站數據,提取結構性數據而編寫的應用框架。 可以應用在包括數據挖掘,信息處理或存儲歷史數據等一系列的程序中。其最初是為了頁面抓取 (更確切來說, 網絡抓取 )所設計的, 也可以應用在獲取API所返回的數據(例如 Amazon Associates Web Services ) 或者通用的網絡爬蟲。”
-
2. 知識準備以及相關資料
看完介紹便可以確定你對它是否存在需求。筆者也是對網絡爬蟲感興趣,慢慢接觸Scrapy并決定寫一系列教程。關于爬蟲學習曲線,曾經在知乎上發現一篇文章,現轉載過來:作者:謝科 問題:Python 爬蟲如何入門學習?
需要學習的內容:
- 基本的爬蟲工作原理
- 基本的http抓取工具,scrapy
- Bloom Filter
- 如果需要大規模網頁抓取,你需要學習分布式爬蟲的概念。其實沒那么玄乎,你只要學會怎樣維護一個所有集群機器能夠有效分享的分布式隊列就好。最簡單的實現是python-redis
- redis和Scrapy的結合:Scrapy-redis
- 后續處理,網頁析取:Python-goose,存儲:Mongodb
入門資料
- 學習Scrapy入門
- Scrapy 1.0.5 文檔
- Redis快速入門
- Python教程 廖雪峰
- Xpath教程
- Python正則表達式
- Bloom Filter(布隆過濾器)的概念和原理
- 基于Redis的Bloomfilter去重(附Python代碼)
-
3. Scrapy 安裝
Linux安裝
直接通過命令安裝:pip install scrapy
Windows安裝
Windows安裝Scrapy教程Scrapy文檔安裝指南