Github:
https://github.com/HSSLC/manhuagui-dlr
僅作為個人學術研究使用,勿作為其他用途,本人不負任何衍生問題責任
這是自動化批次下載manhuagui的漫畫的程式,使用python製作。
載完後可以使用自製的
kc-generator
來編成一本kindle mobi格式的漫畫。
預設情況下proxy是關閉的。
proxy設定內容都在proxy.py裡面。
proxy_config變數是設定proxy模式的,能使用的值有none(關閉)、single(單一)、pool(隨機)
只使用單一一個proxy,設定值在下方proxy變數中,如果要調整請在http和https的值中填入自己要用的proxy位址。
從proxy_pool的列表中隨機選擇一個proxy使用,如果正確設定的話可以用不同proxy分攤流量,就能調短下載的延遲時間,達到更快的下載速度。
使用方式一樣是在http和https的值填入proxy的位址,也可以新增更多的proxy進proxy_pool。
有些proxy在https上面的憑證會有問題,此時可以將verify調整成False來跳過驗證,但是主控台會被警告洗版。
proxy位址無論是不是https,在設定中都要打成http。
如果要取得免費的proxy位址的話可以上網查free proxy list並選擇有支援https的來使用。
manhuagui有防機器人的機制,短時間內流量過大會被ban IP好幾天,調整下載延遲參數的時候要特別注意一下,如果有使用proxy pool的話可以調短一點,但還是量力而為。
機械化下載東西的第一步基本上就是要找到資源的metadata儲存方式,但manhuagui的原始碼中把metadata打碎,再用混淆過後的JS來還原回一行帶有資料的JS,然後eval該行程式,讓破解更難追蹤。
在做這個程式前有先查過了其他人有沒有做過相似的東西,結果看到很多很傻眼的操作,例如:
那些呼叫外部JS環境執行專案,可能連那段程式做了什麼他們都不知道,只知道這樣的字串丟進去就能拿到那樣的結果。
我個人的做法是花了平時一周的空閒時間把該段混淆完的js分析完,再用python重現該種轉換,所以不需要用到外部JS環境,當然也不會有瀏覽器在前台動來動去。
近期在把整個下載器重新整理成另一個專案,希望可以更好改動需要變更的參數,也可以用更模組化的方式呼叫。
因為解析反反編譯的程式花了我很多時間,其實製作程式也是很耗費功夫的,程式隨便拿沒關係,但不要把他當成自己原創的,引用要附來源,謝謝。
Keyboard Shortcuts
| Command | Function |
|---|---|
| ? (Shift+/) | Bring up this help modal |
| g+h | Go to Home |
| g+p | Go to Posts |
| g+e | Open Editor page on GitHub in a new tab |
| g+s | Open Source page on GitHub in a new tab |
| r | Reload page |