樹莓派資料上傳資料庫 樹莓派與postgre資料庫

2021-10-20 00:00:52 字數 1969 閱讀 5974

家附近有個加油站,油價變化挺有意思,基本是某一天跳變到某乙個最高值,之後每天降一點,然後保持最低價幾天,最後又跳變到乙個最高開始新的迴圈。

決定用樹莓派把每日油價自動記錄下來,方便油價最低的時候去加油,同時存到資料庫裡,順便摸索一下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是使用最廣泛的開源作業系統,而樹莓派是新興的開放硬體平台。兩者相互結合,能激起很多有趣的火花。這一部分中,我將介紹樹莓派的基本使用方法...