今日對話:如何把 Python 丟到雲端自動執行?
我的 Prompt(提示詞):
「我有一支會發送 LINE 通知的 Python 爬蟲,我希望它每天能自動執行,但我不想 24 小時開著自己的電腦。請推薦一個對新手友善、免費,且不需要複雜 Linux 指令的雲端平台,並教我如何把這支程式部署上去設定每天定時執行。」
AI 導師非常懂新手的痛,直接避開了 AWS 或 GCP 這些設定複雜的大型怪獸,推薦了一個專為 Python 開發者打造的佛心平台:PythonAnywhere。
核心觀念大翻轉:在雲端,你不需要 schedule!
AI 點出了一個超重要的觀念:前幾天我們用 schedule 套件加上 while True 無窮迴圈來計時。但在雲端平台上,我們 不需要 這樣寫!
我們只需要保留「爬蟲」與「發送 LINE」的純粹邏輯,然後利用雲端平台內建的「工作排程器 (Tasks)」,設定時間一到,請雲端主機幫我們啟動這支檔案即可。
我們要做的步驟非常簡單,完全都在瀏覽器裡點擊就能完成:
第一步:整理最純粹的程式碼
把 Day 27 的程式碼精簡,拿掉 schedule 跟 while True,存成 daily_bot.py。
python
import requests
from bs4 import BeautifulSoup
import pandas as pd
#... (爬蟲抓資料與整理 DataFrame 的程式碼) ...
def send_line_notify(msg):
token = "你的_LINE_NOTIFY_TOKEN"
url = "https://notify-api.line.me/api/notify"
headers = {"Authorization": f"Bearer {token}"}
requests.post(url, headers=headers, data={"message": msg})
#執行任務
send_line_notify("早安!雲端機器人已經起床,今日新聞已抓取完畢!")
第二步:註冊與上傳 (PythonAnywhere)
daily_bot.py 上傳上去。第三步:設定雲端排程 (Tasks)
大功告成非常有成就感。