首先啟用爬蟲裡面的starturl獲取響應response。再通過xpath提取資料,提取的資料通過建立的item物件暫存到item.py(資料中轉站)裡面的item裡面,item資料通過yield返回給管道,管道給寫入檔案儲存起來。
items.py
item 可以理解為資料的中轉類,因為我們爬取網頁後需要將進行解析,並將解析後的資料進行儲存分析。所以為了便於資料的遷移儲存,我們可以將資料封裝為乙個 item 類,然後在對 item 類進行操作,這樣可以避免很多不必要的錯誤。
piplines.py
用來處理儲存資料的模組,我們爬取網頁後解析生成的 item 類會被傳遞到這裡進行儲存解析等操作。 scrapy 提供了許多有用的 pipeline 類來處理資料,我們也可以自定義 pipeline 類進行處理。
用陣列items存放資料有乙個缺點,因為要將成千上萬的資料放在items裡面會導致記憶體很大程度的消耗。故用yield來返回資料,yield和return都可以返回資料,但是return是迴圈結束完才返回乙個資料,yield和for…in構成是生成器獲取乙個資料就返回乙個資料,放到pipelines裡面進行儲存不會占用記憶體資源,同時還會回來繼續從response裡面獲取資料
【注意】yield返回的資料會交給pipeline,而 return只會放在記憶體裡面
Python爬蟲框架
一 u know!二 scrapy入門教程 三 網路爬蟲之scrapy框架詳解 四 scrapy編寫步驟 詳情見二 scrapy入門教程 1 mkdir乙個爬蟲資料夾 例 mkdir home zy pachong pa test 10 28 2 在 home zy pachong pa test ...
Python爬蟲 scrapy框架
開源的,對平台的爬蟲框架 舊版本 需要預先定義所需欄位 class myitem scrapy.item url scrapy.field 再將所需欄位填充 class myspier scrapy.spider defparse self,response return sudo apt inst...
python爬蟲scrapy框架
安裝 pip install scrapy startproject 建立乙個新專案 genspider 根據模板生成乙個新爬蟲 crawl 執行爬蟲 shell 啟動互動式抓取控制台 進入專案目錄 scrapy startproject crawlertest project name cd cr...