隨著畢業季的到來,身邊的朋友將為了前程各奔東西,這可能是大家最後一次見面了 因此,在離開前 MOLi 地縛靈希望能一起吃一頓飯,每個人自己準備一道料理。 但平時大家都只會準備一人份的量,突然要準備那麼多人的份量並計算所花費的價錢,可能都沒有經驗,所以我們想試試看能不能做出能讓人根據菜單及人數推估出來食材份量及總花費的網頁工具。
- 作業系統是 Linux 的電腦
- 爬蟲:Selenium
- 架網站:Python Flask
- 網頁前端框架:Flat UI
- 部屬網站:Docker
- 資料庫:MySQL
- 資料庫管理工具:phpMyAdmin
- 寫爬蟲程式爬食譜、菜價網站
- 建資料庫
- 寫前端網頁
- 前後端整合
- 把網站架到 Docker 上
- 部屬
- 使用
- Install Docker Engine on Ubuntu
sudo apt-get update
sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
apt-cache madison docker-ce
sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io docker-compose-plugin
- Install Docker Compose CLI plugin
sudo apt-get update
sudo apt-get install docker-compose-plugin
apt-cache madison docker-compose-plugin
sudo apt-get install docker-compose-plugin=<VERSION_STRING>
docker compose version
- 下載 GitHub 專案
git clone https://github.com/miga-666/automatedSquid.git
- 啟動服務
docker compose build
docker compose up
- 可查看以下 port
- 結束服務
docker compose down
- 在
/home/<user>/<dir_name>/app/db/
下匯入<要更換資料表內容的檔案>.sql
vim <要更換資料表內容的檔案>.sql
- 在最上方新增
create database lsa2; use lsa2;
- 意思是建立一個名字叫
lsa2
的資料庫
vim operationDB.py
,修改資料表名稱- (file 位置 :
/home/<user>/<dir_name>/app/db/
)
import connectDB # 查詢資料庫菜價 def queryFoodPrice(str): mydb = connectDB.connect() # 連接 DB,讓資料自動組織成字典 cursor = mydb.cursor(dictionary = True) sql = 'select * from <資料表名稱> WHERE foodName LIKE \'%{str}%\' '.format(str=str) # 定義 SQL 語句 cursor.execute(sql) # 執行 SQL 語句 result = cursor.fetchall() # 獲取返回結果 cursor.close() mydb.close() return result
- (file 位置 :
- Docker :
- Docker 基本指令
- 下載 images 並啟動
docker pull <image_name> docker run <image_name>
- 進入 container 編輯 :
docker exec -it <containerID> bash cd /home/<user>/ sudo apt-get update sudo apt-get install vim sudo apt-get install pip pip install selenium pip install flask ......
- 刪除所有 container :
docker pa -a
- 查看所有已 stop 的 container :
docker container prune
- docker remove
<none>
images :docker image prune --filter="dangling=true"
- docker-compose :
- 建立並啟動 docker-compose
docker-compose up -d --build
- 查看 docker-compose
docker-compose ps
- 結束並刪除 docker-compose
docker-compose down
- 建立並啟動 docker-compose
- 基本指令
- directory 複製 :
cp -a <source>/. <destination>
- directory or file rename :
mv <old_name> <new_name>
- directory 複製 :
- 中文數字
- 例如: 2 顆番茄、一匙醬油
- 虛擬機效能較差,導致超時,爬蟲爬不到東西
- 解決方法:跟有 Linux 作業系統的同學借電腦測試、用跟學校申請的伺服器測試
感謝鄭采禎、陳琪樺 ❤️
- 解決方法:跟有 Linux 作業系統的同學借電腦測試、用跟學校申請的伺服器測試
- Service 在本機環境與 container 環境的安裝設定差異
- docker-compose service 啟動速度的差異
- 題材發想:李漢偉、蔣毓婷、陳柏瑋
- 電腦支援:鄭采禎、陳琪樺
組員 | 工作分配 |
---|---|
林惠霖 | 爬蟲、後端 |
楊心慈 | Docker、前端 |
- Selenium
- Docker
- docker-compose
- 網頁
- DataBase