易車網實戰+【保姆級】:Feapder爬蟲框架入門教程

Python研究者發表於2021-07-06

今天辰哥帶大家來看看一個爬蟲框架: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採集後,直接儲存到資料庫的過程。

一定要 動手嘗試 一定要 動手嘗試 一定要 動手嘗試!

相關文章