初次學習scrapy ,覺得spider代碼才是最重要的,越往后學,發現pipeline中的代碼也很有趣,
今天順便把pipeline中三種儲存方法寫下來,算是對自己學習的一點鼓勵吧,也可以為后來者的學習提供
綿薄之力,寫的不怎么好,諒解
爬蟲7部曲,雖然我不知道其他人是規划的
1.創建工程
scrapy startproject xiaohuawang
2.進入xiaohuawang目錄 ,命名爬蟲名和爬取的域名
cd xiaohuawang
scrapy genspider xhwang
此時在能看到如下結構
文件說明:
scrapy.cfg 項目的主配置信息,用來部署scrapy時使用,爬蟲相關的配置信息在settings.py文件中。
items.py 設置數據存儲模板,用於結構化數據,
pipelines 數據處理行為,如:一般結構化的數據持久化
settings.py 配置文件,如:遞歸的層數、並發數,延遲下載等。
spiders 爬蟲目錄,如:創建文件,編寫爬蟲規則
xhwang.py 爬蟲主要代碼
包含了一個用於下載的初始URL,如何跟進網頁中的鏈接以及如何分析頁面中的內容,提取生成
item 的方法。
為了創建一個Spider,必須繼承
scrapy.Spider 類,且定義以下三個屬性:
name:用於區別Spider。該名字必須是唯一的,您不可以為不同的Spider設定相同的名字。
start_urls:包含了Spider在啟動時進行爬取的url列表。因此,第一個被獲取到的頁面將是其中之一。
后續的URL則從初始的URL獲取到的數據中提取。
該方法負責解析返回的數據(response data),提取數據(生成item)以及生成需要進一步處理的URL的
Request 對象。
注意:一般創建爬蟲文件時,以網站域名命名
3、編寫item (數據模板) 這里只編寫兩項
4、編寫爬蟲,爬蟲主體代碼還是挺容易理解的
5、編寫pipeline(重點)此處編寫了三種 (保存到mysql 、保存到json文件、以及將圖片存儲到本)
6、settings設置,為了使三種pipeline均生效需要設置如下 數字越小優先級越高
7、運行scrapy crawl xhwang