今天辰哥帶大家來看看一個爬蟲框架:Feapder,看完本文之後,別再說你不會Feapder了。本文辰哥將帶你瞭解什麼是Feapder?、如何去建立一個Feapder入門專案(實戰:採集易車網轎車資料)。
其中實戰部分包括爬蟲資料和儲存到Mysql資料庫,讓大家能夠感受一下,資料從網頁經框架Feapder採集後,直接儲存到資料庫的過程。
之前我們已經用了Scrapy爬蟲框架來爬取資料(以『B站』為實戰案例!手把手教你掌握爬蟲必備框架『Scrapy』),今天來試試使用Feapder寫爬蟲是一種怎麼樣的體驗,請往下看!!!!!
01、Feapder框架
1.Feapder框架介紹
Feapder 是一款上手簡單、功能強大、快速、輕量級的爬蟲框架的Python爬蟲框架。支援輕量爬蟲、分散式爬蟲、批次爬蟲、爬蟲整合,以及完善的爬蟲報警機制。
具體feapder專案結構每一塊的功能是什麼?怎麼樣用?接著往下看,下面的實戰中有詳細的講解。
2.Feapder的安裝
feapder的安裝很簡單,通過下面的命令安裝即可!
pip install feapder
出現下面的介面說明feapder成功安裝!
feapder的介紹和環境安裝就完成了,下面開始真正去使用fepader來爬取易車網資料,並儲存到mysql資料庫。
02、實戰
1.新建feapder專案
通過下方的命令去建立一個名為:chenge_yc_spider的的爬蟲專案
feapder create -p chenge_yc_spider
建立好之後,我們看一下專案結構
2.編寫爬蟲
在終端中進入到專案(chenge_yc_spider)下的spiders資料夾下,通過下面的命令建立一個目標爬蟲檔案(target_spider)
feapder create -s target_spider
此刻專案結構如下:
編輯target_spider.py檔案
這裡實戰案例:採集易車網資料。直接執行這個py檔案,先看一下請求有沒有沒問題。
可以看到請求返回響應200,說明請求成功。下一步我們開始解析網頁資料並設定爬蟲框架自動採集下一頁資料。
3.解析網頁
網頁結果(待採集的資料)如下:
通過檢視原始碼,分析資料所對應的網頁標籤
通過網頁原始碼可以分析,汽車列表資料都是在class為search-result-list下。每一個class為search-result-list-item表示一條資料,每一條資料下都有汽車對應的屬性(如:汽車名稱、價格等)
這裡僅作為實戰案例去學習feapder爬蟲框架,因此這裡就只爬取汽車名稱、價格;這兩個欄位屬性。
4.建立Mysql資料庫
採集的資料需要儲存到資料庫(mysql)中,因此我們先來定義好資料庫和表
這裡辰哥建立了一個資料庫:chenge_yc,並在裡面建了應該表:t_yc,其表結構如上圖,這裡如果不不熟悉mysql如何建立資料庫表的可以參考辰哥的這篇文章(實戰|教你用Python玩轉Mysql)
在爬蟲專案中配置資料庫,開啟根目錄下的setting.py檔案
可以看到feapder支援多種資料庫的對接,我們們這裡使用的是mysql,其配置如下:
接著在終端下,進入到根目錄下的items資料夾,執行下面命令生成資料庫表對於的item
feapder create -i t_yc
請注意:命令中的t_yc是對於資料庫表中的t_yc
最後生成 t_yc_item.py 檔案:
裡面的name和price則是對應資料庫中的欄位。
5.提取網頁欄位
上面已經獲取到網頁原始碼,也知道資料所在的標籤,現在開始編寫程式碼進行解析。
執行結果:
可以看到資料已經成功提出來,下一步將這些資料儲存到資料庫中。
6.儲存到資料庫
import feapder
引入剛剛的 t_yc_item.py,並建立物件TycItem。把爬取的name和price初始化到物件中。最後yieId TycItem,實際上就直接儲存到資料庫了(因為資料庫表和item是對應連線關係,這樣就直接儲存到資料庫了)。
這太方便了,連sql語句都省了,6666666666
執行結果如下:
檢視資料庫:
同樣可以看到資料直接就儲存到資料庫中。大功告成!!!!!!
03、小結
相信看到這裡的你已經完完全全掌握了 爬蟲框架: Feapder ,你不僅知道了什麼是feapder,同時還學會了如何使用feapder。
此外實戰部分包括 爬蟲資料和儲存到Mysql資料庫,讓大家能夠感受一下,資料從網頁經框架Feapder採集後,直接儲存到資料庫的過程。
一定要 動手嘗試 ! 一定要 動手嘗試 ! 一定要 動手嘗試!