2018年3月24日 星期六

MahoMangaDownloaderVer6.4更新

最近有發現到dm5直行漫畫有部分漫畫會無法下載, 原因在於dm5漫畫圖源位址名稱的編號數有少數不是從1開始, 所以6.3版的下載器才會沒辦法parser到正確的圖源, 另外還有6.3版加入的非法字元轉全型的功能, 實作這功能時反而把舊的取代功能弄壞了(有一行忘記改到囧), 這就是沒有做unit test的下場嗎囧

另外還修了幾個使用者反應的bug, 可以的話希望這版能這樣順下去(最近工作要開始忙了囧), 希望網站不要再那麼頻繁改版阿。


Ver6.4 更新內容:
  • 修正dm5部分直行漫畫不能下載問題
  • 修正非法字元取代會出錯的bug
  • 修正更新程式時user_setting會重置的問題
  • 過濾漫畫清單表格的data error事件

下載器Demo圖:








檔案位址:
https://drive.google.com/file/d/1eyXA8MRR-s9cr-CbwJHPjTpFVBZqzBGk/view?usp=sharing

32位元版本:
https://drive.google.com/file/d/1a9bNGqQ39FhrXCEdt473h_ZA0pmJYFZY/view?usp=sharing

解壓密碼:zmcx16

------------------------------------------------------------------------------
MahoMangaDownloader 漫畫下載器


支援網站:
******************
http://www.dm5.com/
http://www.ikanman.com/ (http://www.manhuagui.com/)
http://99.hhxxee.com/
http://www.8comic.com/ (http://www.comicbus.com/)
https://e-hentai.org/
https://exhentai.org/
https://nhentai.net/


環境需求:
******************
1. .Net framework 4.5.2 or later
https://www.microsoft.com/zh-tw/download/details.aspx?id=42642

2. Visual C++ 2013
https://www.microsoft.com/zh-TW/download/details.aspx?id=40784


功能:
******************
1. 可批次下載
2. 支援多執行緒下載(Max thread = 3, 請多珍惜各個資源網站)
3. 支援搜尋功能, 搜尋過濾的關鍵字以及類別選單可在選單->設置的地方修改,預設為只輸出日文,中文,英文資源,分隔關鍵字為 '|' 字元
4. 支援追蹤功能, 可將網址/關鍵字加入追蹤清單, 之後可掃描目前尚未下載的漫畫。
5. 語系: 中文/英文
6. 要下載EX熊貓的資源,必須先設置一次Cookie(選單->設置->ehentai->Cookie),產生Cookie檔後即可下載EX資源,之後皆不需重新設置
7. 支援自動檢查最新版本


注意事項:
******************
1. e-hentai/exhentai有流量限制, 且下載過大會封鎖IP, 如果是網路環境為固定IP的話請加大delay時間
2. e-hentai/exhentai的快速搜尋只會Parse英文檔名, 除非有特定需求否則建議disable快速搜尋
3. 在啟用重啟新IP功能時, 下載器會在被ban ip or 流量超過時自動換IP, 換IP過程電腦網路會暫時斷線, 並且只有網路環境為浮動IP的情況才有用。
4. 針對6.0以後的版本, 使用者資料(漫畫清單, 參數設置, Cookie檔案等等)皆會放在User_Data資料夾內, 更新下載器版本時User_Data內的檔案皆可銜接使用。

Staff:
******************
Author:  zmcx16 (zmcx16@gmail.com)
Illustrator: 超愛喝榛奶


Web sites:
******************
https://zmcx16.blogspot.tw/
https://github.com/zmcx16/


Using Package & Reference:
******************
CefSharp - (https://github.com/cefsharp/cefsharp) -  BSD LICNESE
HtmlAgilityPack - (https://github.com/zzzprojects) - MIT LICNESE
lz-string-csharp - (https://github.com/jawa-the-hutt/lz-string-csharp) - The Unlicense
Imazen.WebP - (https://github.com/imazen/libwebp-net) - MIT LICNESE
log4Net - (http://logging.apache.org/log4net/) - Apache License Version 2.0
newtonsoft.Json (http://www.newtonsoft.com/json) - MIT LICNESE
DataGridViewProgressBarCell - (https://www.codeproject.com/Articles/117021/How-to-Create-ProgressBar-Column-in-DataGridView) - CPOL LICENSE


免責聲明:
******************
MahoMangaDownloader僅作為學術研究使用,禁止利用本程式行非法用途。

21 則留言:

  1. N站和熊貓都很順,Maho是偽娘之神<(_ _)>感謝站長更新!!

    回覆刪除
    回覆
    1. 感謝支持, 衷心敬佩閣下對偽娘的愛!!

      刪除
  2. 請問可以直接更新嗎?(不用連到部落格)
    不是不喜歡瀏覽zmcx16大的部落格
    而是新版無法直接覆蓋過去
    舊版內的排程和設定必須重新來

    不好意思,我不會寫軟體,一直伸手
    我很愛用Mahomangadownlorder,希望大大能繼續下去,我支持你

    回覆刪除
    回覆
    1. 您好, 6.0版以後都可以直接覆蓋喔, 之前蓋過去設定會跑掉是因為程式有個bug造成只要有新增設定就會洗掉, 現在已經修好了, 以後更新都只要直接整個覆蓋過去即可。

      其實以前有做程式自動更新, 不過那時候是因為有申請AWS的1年免費, 過期後就把自動更新整個拿掉了, 這塊其實也有考慮要重做起來(另外申請一個google帳號 & API key來用), 可能等手邊東西告一段落再來動工。

      刪除
    2. 感謝回復~
      我從以前用到現在 當時發現這個疑問後一直都直堅持全部載完再換新版,所以不知道原來大大有更新。
      自動更新不強求畢竟免費軟體給大家自己還要花錢。

      另外最近有遇到任務載完不會跳下一個
      進度條顯示100%
      資料夾檔名「_tmp_XXXX」 看裡面都載完了
      附圖:https://imgur.com/zUT1wRG

      個人來源是習慣是DM5 ,是被鎖了嗎?
      還是需要送反饋給您
      謝謝

      刪除
    3. 您好, 我沒有遇到這種情況說, 載完不會跳下一個是指_tmp_不會重命名, 狀態也不會改成completed嗎?

      這個問題您可以寄有問題點的log檔案給我(zmcx16@gmail.com), 我再研究看看為何會這樣。

      刪除
    4. 您好, 有找到原因了, 有些特定漫畫會有非法字元問題, 在過濾非法字元後的漫畫名稱有不同步的問題, 導致特定漫畫下載完後會沒辦法重命名, 這問題會在下一版處理, 非常謝謝您的回報。

      刪除
    5. 您好, 不好意思我找到的原因是只有8comic特定漫畫才會有的問題, dm5我目前還是沒遇到您說的情況, 可以麻煩您提供有問題的漫畫位址嗎?

      刪除
    6. 作者已經移除這則留言。

      刪除
    7. 再次感謝您的回覆

      目前DM5遇到只有這部,但之前舊版也有遇到過但忘了是那些
      http://www.dm5.com/m483689/

      另外「漫畫櫃」載到目前7本單行本為止都發生
      http://tw.manhuagui.com/comic/1401/

      我最近都載單行本,也會有非法字元的問題嗎?(畢竟都第XX集為ˋ檔名,(不懂程式只是疑問))

      最後,謝謝您分享的程式~

      刪除
    8. 您好, 我測試您提供的網址都能正常下載, 沒有載完不能跳下一個的情況, 這樣看起來應該是環境問題, 可以麻煩您提供程式資料夾內的log檔給我嗎? 我在看看有沒有辦法找出原因。

      刪除
    9. 您好,
      今天嘗試後變成正常了(黑人問號??)
      目前都順利下載,感謝您的熱心回復,謝謝
      附上之前問題時的部分log (logfiles裡的 不知道是不是這個)
      ================
      WARN 2018/04/02 16:47:00 UserSetting ReadSettingToIni Read mmd_setting.ini fail, write default setting.
      WARN 2018/04/02 18:01:13 DownloadProcess DoWorker System.ArgumentOutOfRangeException: 長度不可以小於零。
      參數名稱: length
      於 System.String.Substring(Int32 startIndex, Int32 length)
      於 MahoMangaDownloader.MangaClass._dm5.GetDownloadImg(ImgFile img_file, String download_url, String path, String file_name_no_extension, Int32 retry_count)
      於 MahoMangaDownloader.MangaClass.MangaFactory.GetDownloadImg(ImgFile img_file, String download_url, String path, String file_name_no_extension, Int32 retry_count)
      於 MahoMangaDownloader.DownloadProcess.DoWorker(Object param)
      WARN 2018/04/02 22:17:42 DownloadProcess DoWorker System.IO.IOException: 拒絕存取路徑 'D:\色色??\_tmp_第6卷 '。
      於 System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)
      於 MahoMangaDownloader.DownloadProcess.DoWorker(Object param)
      WARN 2018/04/02 23:12:19 DownloadProcess DoWorker System.IO.IOException: 拒絕存取路徑 'D:\極黑的布倫希爾德\_tmp_第18卷'。
      於 System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)
      於 MahoMangaDownloader.DownloadProcess.DoWorker(Object param)
      WARN 2018/04/02 23:12:24 DownloadProcess DoWorker System.IO.IOException: 拒絕存取路徑 'D:\極黑的布倫希爾德\_tmp_第18卷'。
      於 System.IO.Directory.InternalMove(String sourceDirName, String destDirName, Boolean checkHost)

      刪除
    10. 您好, 問題有解決了就好, 至於之前為什麼會有問題, 我想到一個可能原因是因為下載器一直在下載檔案&修改資料夾名稱, 可能被防毒軟體當成惡意軟體鎖權限了。

      之後如果有遇到其他問題歡迎隨時提出~。

      刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 有的漫畫抓完一回後會停住,不會繼續抓下一回
    像是 http://v.nowcomic.com/online/manga_10475.html?ch=14
    抓完的話數資料夾會是 _tmp_14話
    感覺跟非法字元有關?

    回覆刪除
    回覆
    1. 您好, 非常謝謝您提供的資訊, 是非法字元問題沒錯, 程式在過濾非法字元後以及紀錄的檔案名稱有不同步的情況, 導致特定漫畫的資料夾會無法重命名, 這bug會在下一版處理掉, 感謝~

      刪除
    2. 您好, 更正一下訊息, 漫畫名稱會出現非法字元的原因在於當初8comic parse漫畫名稱時, 我parse的地方有問題, 如果漫畫名稱太長會被省略, 所以上面那個漫畫All You Need Is Kill會變成"All You Need Is...", 除了漫畫名稱被省略的問題以外, 另外資料夾名稱是不允許"."結尾的, 所以才會導致非法字元的問題, 下一版程式會讓下載器parse 8comic能取得正確的漫畫名稱, 這樣就不會有上述問題了。

      刪除
  5. 有個小疑問,漫畫清單跟下載路徑是故意分開的嗎?目前沒切換路徑只切換清單都會下載到同樣位置.
    我覺得路徑跟清單綁定會比較方便,不用切換清單後還要再切換一次路徑

    回覆刪除
    回覆
    1. 您好, 只是單純沒想到路徑跟清單綁定會比較方便XD 這部分會在下一版加入, 謝謝建議^^

      刪除
  6. 大大真心覺得您太猛了,居然還一直有在更新
    小弟不才,也是資工系的
    不過才大二而已
    希望以後能跟您一樣寫出好的程式造福社會
    再次感謝大大

    回覆刪除
    回覆
    1. 謝謝您的支持, 我也會繼續學習&做更多有用or有趣的好玩意(希望自己能多提起幹勁動工就是XD), 祝您學業順利。

      刪除