20260423 | 第一次用到自己的code來放專案
¶關於新增的專案
eeclass課程影片下載
基本上使用eeclass類型的學校或系統應適用,也包含如tms之類之系統。
提供好學的人類使用。但還是要注意版權:D
¶怎麼突然就研究了
因為某位同學跑去爬網找了別人寫的擴充工具,但是說裝了有問題不讓裝。
我說這問題我解不了,但我可以分析怎麼下載這東西。
起初說的是影片,但是如果直接使用Alan大大的工具爬出來的連結,或者是我平常用於下載串流影片之工具皆會報404 Not Found
因此我決定著手處理看看這個問題。
至於實際是說要用ppt2pdf的,Alan大大寫的擴充就可以直接用這點沒問題。
¶ppt2pdf原理
其實就是因為老師不開放下載簡報,所以藉由被解析成一張張的圖片在分別加入串至一個pdf檔案中,然後在儲存到本地,就這樣。
原始專案庫:
GitHub - lebr0nli/eeclass-ppt2pdf-dl: This Chrome extension will help you download a pdf of ppt in NCU eeclass if your teacher forgot to open permission to download it. · GitHub
使用方法有二:
* 方法一:照常安裝,但要修改資料
如果你不是就讀NCU的務必要將matches清單的eeclass.yourschool.edu.tw改成自己學校或系統的網域網址:
manifest.json
{
"name": "eeclass ppt2pdf downloader",
"version": "2021.12",
"author": "Alan Li",
"description": "Append download link to any course ppt",
"permissions": [],
"content_scripts": [
{
"matches": [
"*://eeclass.yourschool.edu.tw/media/doc/*"
],
"js": [
"jspdf/jspdf.umd.min.js",
"js/content_script.js"
]
}
],
"manifest_version": 2
}
然後把整個資料夾按照其說明方法,在瀏覽器中的擴充管理打開開發人員工具,載入解壓縮包,選擇整個資料夾(包含manifest.json的整個資料夾,否則沒這個檔案擴充管理絕對認不出你誰)
重新整理網站後就可以使用了。
- 方法二:硬核直接貼上
說明名詞:
* F12:代表開發人員工具,按下F12就會彈出側邊欄的工具
* Console:代表主控台,也就是用於偵錯使用的終端,可以執行js腳本
我比較糟糕,懶得安裝擴充或者無法安裝擴充者也可以嘗試看看
先把jspdf資料夾內的js檔案整個複製起來貼到F12的Console裡面進行初始化定義,然後在把userscripts資料夾內的js檔案整個複製起來貼到F12的Console裡面,或是js資料夾內的js檔案整個貼上去應該也要可以(雖然我不確定為何我的貌似無法)
按下Enter之後,網頁頁面上應該就會顯示下載按扭了。
¶video dl原理
理論上跟上面應該要一樣,但是我的狀況出現了404 NotFound,因為他解析出來的連結跟我解析出來的是一個連結,但是無法直接用瀏覽器進行下載,因此需要另外準備Request工具(Python, C等等你熟悉的語言工具都可以)
關鍵主要是先用js一樣貼到Console裡面解析網址以及Cookie等資訊,還有,如果影片下載有錯的話,在Console輸入fs.video.media.src[0].src或者繼續迭代找來源fs.video.media.src[1].src,他會直接跑一串url出來,把第一個url參數座更換就可以了。
接下來就是要透過下載器仿造使用者環境串流下載,影片就可以順利下載下來了。
下載速度還蠻快的,雖然取決於網路環境但基本上還算挺靠普。
然後應該不會有人用到但就是說當作是一個小小研究吧,某些人比較好學一點的或許需要工具。
¶Gemini的角色
這次其實我懶得查閱html原文,因為實在太多工具嵌入在裡面,導致網頁原文很長很長,我直接讓gemini幫我分析我應該怎麼進行下載作業,結果我也還是要從網路當中的標頭去找貓逆,不過整體來說分析起來不算是太難的專案,真正稱上難度的通常是突破大陸網盤下載的機制,那還真的有人在做但我用是一直沒效啊。
然後為了也許有人會用到,所以我放到我自己的代碼庫上了,就這樣。
¶我本來還不想開電腦研究的,只是有點興致想試試就又不小心搞到這麼晚了。
對了我想到我的一句話要寫什麼了:但我又忘了
感謝您的閱讀。如有任何想法,歡迎留言來信。
回文章列表
留言區 / 文章反應
載入中...