網址不是檔名
A URL Is Not a File Name・pync-23-01
- Python 程式設計・23 Automating Practical Tasks
時間限制 1 秒・記憶體 31 MB
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
題目敘述
要從網路抓一份公開資料,程式碼本身只是一行 requests.get(),但有兩件事可能出錯:網址不對,或網路不通。評測環境沒有網路,所以這次請求的結果會直接寫在輸入的第二行給你,你的程式要根據結果做出正確的反應。
另一部分工作是決定檔案存到硬碟時的檔名。網址不能直接當檔名,規則是:取最後一個 / 之後的部分;若這部分帶有查詢參數(從第一個 ? 開始到結尾的所有內容),要把它切掉;若網址以 / 結尾,最後一個 / 之後是空的,此時檔名使用 index.html。
輸入格式
第一行是網址。第二行是這次請求的結果:OK <位元組數> 表示成功並收到那麼多位元組;否則是被丟出的例外名稱,例如 ConnectionError 或 Timeout。
輸出格式
成功時輸出 Downloaded <檔名>, size <位元組數> bytes。失敗時輸出 Download failed: <例外名稱>,例外名稱照輸入第二行原樣輸出。
範例
範例 1
輸入
https://opendata.cwa.gov.tw/fileapi/v1/opendataapi/O-A0001-001.xml
OK 148320輸出
Downloaded O-A0001-001.xml, size 148320 bytes說明
網址最後一個 / 之後是 O-A0001-001.xml,沒有查詢參數,所以直接當作檔名。
送出程式要先用 Discord 帳號登入 Aki-Judge,並加入註解 Annotated 的 Discord 伺服器(免費)。看題目不用登入。
卡住了可以到 Discord 的 #程式問題 發問,小墨助教會先給提示,不會直接給答案。