今天辰哥帶大家來看看一個爬蟲框架: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采集后,直接存儲到數據庫的過程。
一定要 動手嘗試 ! 一定要 動手嘗試 ! 一定要 動手嘗試!