家附近有個加油站,油價變化挺有意思,基本是某一天跳變到某乙個最高值,之後每天降一點,然後保持最低價幾天,最後又跳變到乙個最高開始新的迴圈。
決定用樹莓派把每日油價自動記錄下來,方便油價最低的時候去加油,同時存到資料庫裡,順便摸索一下python與資料庫的連線。
初始版本是記錄到乙個text檔案裡,後來增加了與資料庫的連線和insert操作。
系統版本:官方的raspbian
首先安裝postgre
sudo apt-get update
sudo apt-get install postgresql
看別人的記錄還要裝client,我沒裝好像也沒問題
然後切換到資料庫管理使用者
sudo su postgres
建立乙個pi使用者,據說因為跟系統使用者pi同名,會自動授權pi系統賬戶去使用pi資料庫。
createuser pi -p --interactive
然後切換到pi賬戶去建立我需要的fuel_price db。
createdb fuel_price
進入這個db
psql fuel_check
建立我需要的table
create table fuel(current_date1 text primary key, price text);
檢查下有沒有建立成功
select * from fuel;
\q 退出資料庫
\qpython讀取網頁需要的資料,同時存進去
提前安裝python3的psycopg2
sudo apt-get install python3-psycopg2
from urllib import request
import time
import psycopg2
port_num=
keywords='coles express maroubra","lat":-33.949944,"long":151.240710,"price":'
with request.urlopen(req) as f:
# print(port_num)
start=port_num[0].find(keywords)
# print(start)
print("今天的油價:",port_num[1])
print ("今日的日期:" + time.strftime("%d/%m/%y"))
date1=str(time.strftime("%d%m%y"))
today_recording=[time.strftime("%d/%m/%y"),port_num[1]]
with open('/home/pi/spider/fuel/fuel_recording', 'a') as f:
f.write(str(today_recording)+'\n')
conn = psycopg2.connect(dbname="fuel_price", user="pi",
password="731731", host="127.0.0.1", port="5432")
cur = conn.cursor()
cur.execute("insert into fuel "
"values(%s,%s);"%(date1,port_num[1]))
conn.commit()
cur.close()
conn.close()
直接拿的之前乙個爬**更新程式改的,寫的很爛但是能用。
這裡在日期上折騰了好久,一直以為是定義的attribute data type 不對,**可以存進去,但是日期死活寫不進去,後來發現大家喜歡用01/01/2018 這種表示日期,但是斜槓這樣不能當作value insert 進去,把斜槓去掉就好了。
最後把這個檔案新增到定時任務裡,每天早上跑一次,資料的處理還沒想好,待續...
crontab -e
image.png
樹莓派安裝mysql資料庫
連線測試 在樹莓派上安裝mysql資料,供遠端連線使用。前使用 表示在終端執行,其他表示進入資料庫執行 sudo apt get install mariadb server 10.0 sudo mysql u rootuse mysql update user set plugin mysql n...
樹莓派2 基礎資料
編輯樹莓派2代的model b採用broadcom bcm2836 900mhz的四核soc,1gb記憶體,是新一代開拓者。中文名 樹莓派2 外文名raspberry pi 2 cpubroadcom bcm2836 內 存 1gb sdram 400mhz usbusb2.0 4 尺 寸 85 x...
樹莓派與Linux
基於該系列教材,已出版 樹莓派開始,玩轉linux 一書。01.樹莓派 乙個關於教育的故事 02.樹莓派心臟 arm的逆襲 03.樹莓派的大腦 linux linux是使用最廣泛的開源作業系統,而樹莓派是新興的開放硬體平台。兩者相互結合,能激起很多有趣的火花。這一部分中,我將介紹樹莓派的基本使用方法...