使用scrapy抓取PM2.5資料儲存到Mysql

使用Scrapy使用抓取政府資料開放平台的PM2.5資料(https://opendata.epa.gov.tw/ws/Data/ATM00625/?$format=json),儲存到Mysql,實作影片如下。

Step0)建立資料庫pm,新增資料表pm25,資料表pm25的SQL如下。

Step1)使用「scrapy startproject pm」建立pm專案,使用「scrapy genspider pm25 opendata.epa.gov.tw」建立spider/pm25.py

Step2)編輯pm\scrapy\pm25.py,如下,scrapy使用start_urls的網址抓取資料,自動呼叫函式parse,將資料儲存到item物件,scrapy經由設定會將item交給pipeline處理,在pipeline撰寫程式將資料加到Mysql資料庫。

Step3)修改pm\items.py,建立資料接收的資料欄位

Step4)修改pm\pipelines.py,將item插入到資料庫

Step5)本專案設定檔在pm\settings.py,新增資料庫設定,設定抓取網頁的延遲時間,啟用ITEM_PIPELINES才會將item儲存到Mysql資料庫

Step6)在pm資料夾執行指令「scrapy crawl pm25」就可以抓取,最後將政府資料開放平台的 PM2.5資料加到Mysql資料庫pm的資料表pm25中。