Code Monkey home page Code Monkey logo

myselfanimedownloader's Introduction

MyselfAnimeDownloader 版本ver 1.1.15

預覽

(最後更新 2021/03/15)。

image
GitHub 支援 Gif 只到5MB,所以錄影時有暫停等待爬資料的時間,實際速度請別跟圖片相比。

(最後更新 2022/08/27)。

增加搜尋動漫功能 image

更新日誌(2022/12/24)

查看更新日誌

下載檔案運行(對於不熟悉 Python 的使用者)

Windows、Mac、Linux 使用者可以點擊下載Zip

Mac 使用者解壓縮後,請將 MyselfAnime.app 放到應用程式的資料夾。

image

一定要放到這裡!不然會無法開啟程式唷!

Mac 第一次開啟會有點慢請耐心稍等,如果程式都沒出現請告知。

運行

安裝 requirements.txt (就是安裝此程式依賴的套件)

pip install -r requirements.txt

執行 main.py

注意事項

  • 發生 Failed to execute script main 問題,參考 #25

image

  • 如果下載動漫都卡在 0 %,可能是防毒軟體擋住了,參考 #14
  • 如果有動漫正在下載時,在設定介面更新下載速度,更新前正在下載動漫的速度還會是舊的下載速度,請重開程式。

作者想說的話

  • 1.此專案依賴 Myself 動漫網,如果網站關閉此程式就無法使用!
  • 2.此專案並不是非常完善難免會有Bug,如果有 Bug 或者 程式打不開 以及 其他問題 等等...,麻煩請告知我!我會盡快研究並且嘗試修復! (提出問題方法 -> 頁面左上方 -> Issues -> New issue)
  • 3.2021/09/25 我發現長久以來下載影片會有卡住的問題,以前我以為修好了,結果並沒有修好,怎麼使用下載器下載影片的人都沒有這問題 = =?
  • 4.此專案我從 2020 年 08 月時開始寫的,當時的我很菜沒經驗也沒工作,於是想到什麼功能就補什麼功能,程式語法也沒統一,所以現在只要不是太難的功能,只要我能做到的我都會更新。
  • 5.如果您喜歡此專案,請幫我在頁面右上角按星星,謝謝您!

我整理出 Myself 網的方法 (2023/10/19)

作者開發環境

  • 作業系統
    • Windows(主要)
    • Mac 與 Linux
      • 版型會跑掉
        • Mac
          • QTabWidget tabBar 會在中間,所以版型會跑掉。
        • Linux
          • 不支援透明色,所以會有點難看。
  • Python 3.7以上
    • 我是 3.7 開發的,3.6 應該也可以?,3.6 以下就不行了,因為我用 f'' 這個功能在 3.6 以後才有。

myselfanimedownloader's People

Contributors

actions-user avatar hgalytoby avatar smarternoahlee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

myselfanimedownloader's Issues

部分正確網址無法偵測

1.若以www開頭的網址無法偵測。例如從https://www.myself... 包含"www."的首頁進入後再點選的個別連結都會有www開頭,連結其實有效但是程式無法正確偵測。
2.特殊分類的區域多半無法偵測到內容,不隸屬於"完結"或"連載"分類的連結都無法偵測。例如"地味變"雖是連載中但被分屬於R18+分類,特殊分類的連結都無法偵測。

無法下載 取得影片資料中(失敗N次)

TEST

如圖中所示,一直在 "下載中" 與 "取得影片資料中(失敗N次)" 來回跳訊息

原本是使用 1.1.14版,出現問題改用1.1.15版也沒辦解決

春番結束想再來一次都載下來,結果遇到失敗

請幫忙協助 。・゚・(ノД`)・゚・。

作業系統:Windows 10
下載速度:高速
防毒:Windows 10 本身自帶的Microsoft Defende (有關閉過但沒辦法解決)

MyselfAnimeDownloader 取得資料失敗

首先真的很開心能夠繼續營運!!!

通常都是等一季一次收作品,但這次遇到問題如下

目前有的影片可下載有的會出現這個,"取得影片資料中(失敗XXX次)"

例如:菜鳥鍊金術師開店營業中 第1話 到 第12話 都出現此無法下載狀況
   忍之一時 第1話 到 第4話 正常,但 第5話 開始無法下載(跟上述一樣)

已經是使用了 Ver.1.1.13版 還是一樣,此狀況目前大多數都作品都無法下載

請問這該如何解決?

無法下載

跟#14一樣的狀況,但我把能關的幾乎都關了,還是保持0%

出現Failed to execute script main

在下載的過程中突然出現Failed to execute script main的視窗
然後就打不開應用程式了 不知道是甚麼原因
版本式ver.1.1.6
螢幕擷取畫面 2022-06-19 14 20 04

大神求救

本人非python使用者

使用您的程式1.1.4 on windows 10 專業版64位元 更新到最新

設定下載路徑後嘗試下載檔案,一次一個,顯示0%下載中無進度

求指教 感恩

有幾點想幫忙改善一下的

你好, 這個非常方便, 先感謝,
有幾點想幫忙改善一下的,
1, 最小化可否不直接去到狀態列可以嗎
2, 由於我的WIN 工作列設定了上方, 開程式時可否不要在左上方開, 因為已經不能移動,, 被工作列遮蔽了,

謝謝

將下載功能交給yt-dlp處理的可能性

大大你好,感謝分享這個工具。
我最近在研究yt-dlp的時候,發現它還可以下載m3u8的檔案,並且可以搭配aria2c達到更加星爆的速度。
然後就想起了這個專案,用我那超破爛的技術力暴力修改了一下myself方法。

    @classmethod
    def download_animate_simple_example(cls, url, ep, j):
        """
        這是一個下載動漫簡單範例,肯定會發生請求錯誤,請自己修改邏輯判斷。
        :return:
        """
        # 取得白色相簿2的基本資訊。
        animate_info = cls.animate_total_info(url=url)
        ep = ep-1
        # 我要下載第一集,所以先拿出第一集的資料。
        episode1_info = animate_info['video'][ep]

        # 拿 vpx 資料。
        vpx_json = cls.get_vpx_json(url=episode1_info['url'])

        # 整理 host 順序,我個人猜測 weight 越高的越好。
        host = sorted(vpx_json['host'], key=lambda x: x.get('weight'), reverse=True)

        # 將 weight 最高的 host 與 720p m3u8網址拿出來,組成完整 m3u8 網址。
        m3u8_url = f"{host[0]['host']}{vpx_json['video']['720p']}"
        if aria2c == True:
            cmd = f'yt-dlp --output "%(title)s.%(ext)s" --downloader aria2c --downloader-args aria2c:"-j {j}" {m3u8_url}'
        else:
            cmd = f'yt-dlp --output "%(title)s.%(ext)s" {m3u8_url}'
        print('準備下載   ' + str(animate_info['name']) + ' ' + str(animate_info['video'][ep]['name']))
        subprocess.call(cmd, shell=True)
        os.rename('720p.mp4', str(animate_info['name']) + ' ' + str(animate_info['video'][ep]['name']) + '.mp4')
        old_path = './' + str(animate_info['name']) + ' ' + str(animate_info['video'][ep]['name']) + '.mp4' 
        new_path = './' + str(animate_info['name']) + '/' + str(animate_info['name']) + ' ' + str(animate_info['video'][ep]['name']) + '.mp4'
        try:
            os.rename(old_path, new_path)
        except:
            os.mkdir('./' + str(animate_info['name']))
            os.rename(old_path, new_path)

def hello(DL_all, aria2c):
    print('MyselfAnimeDownloader ver 0.1')
    print('============================================')
    if DL_all == True:
        print('下載模式:全集')
    else:
        print('下載模式:單集')
    if aria2c == True:
        print('請務必確認aria2c已經啟動,否則將無法下載')
    print('============================================')

if __name__ == "__main__":
    config = configparser.ConfigParser()
    config.read('config.ini')
    DL_mode = config['DL_MODE'].getboolean('all')
    aria2c = config['DL_MODE'].getboolean('aria2c')
    if aria2c == True:
        x = config['aria2c'].getint('x')
        j = config['aria2c'].getint('j')
    hello(DL_all=DL_mode, aria2c=aria2c)
    id = input('id? ')
    ep = int(input('episode? '))
    url= 'https://myself-bbs.com/thread-' + id + '-1-1.html'
    Myself.animate_total_info(url=url)
    Myself.download_animate_simple_example(url=url, ep=ep , j=j)

只要調高aria2c下載的線程數,就能幾乎滿速下載,應該也不會佔用太多記憶體。不過以我的技術力最多只能改到這裡,GUI的部分就很有困難了,希望大大有空可以評估一下這種做法的可行性。
謝謝。

Thanks for sharing (提供取得影片資料方法)

你好, 謝謝你分享你的code

我在Apple Silicon上跑app過一陣子後會當掉app閃退且Qt似乎還沒支援apple silicon, 但我基於你的幾個function寫了一個cli的版本, 並且用ffmpeg下載影片檔。

因為我對前端的東西不太了解, 我很好奇你是怎麼知道要把抓到的網址加上vpx的呢(還有其他的處理)?沒有你的看你的code的話我應該找不到影片網址... Thanks!

下載有時候會卡死

當下載的檔案時,可能會因為下載的某一個線程一直未完成,導致下載卡在某個進度,根據我的想法,
我認為是在DownloadVideo中的video的download_request(url=url, stream=False, timeout=3)就是myself_thread.py的282行
,因為某些原因導致卡死,影響後續的下載,我認為解決方法可以加入一些超時的,當超時重啟線程。

版面會破版

運行系統為win10
如系統設定中:設定>系統>顯示器>變更文字、應用程式與其他項目的大小 使用150%會產生破版,導致某些按鈕被其他物件覆蓋,無法點集
必須改為100%才能正確顯示,但100%顯示上又嫌過小,
希望能支援150%的排版

另外,物語系列第二季則是無論何種顯示比例均會破版,希望改善

點此查看破版情形

WIN10 ver1809 企業版 莫名閃退

作者您好:

如標題所示,在 windows 10 1809 企業版中,進行下載時會程式會無預警的關閉,關閉後欲再開啟程式及出現以下錯誤。
螢幕擷取畫面 2021-05-22 170520

關於下載方面的小建議

希望可以在可下載途中的影片更改其他副檔名以區分,
和 下載清單的位置上方可以按下用排序方式分先後次序, 謝

image

打包版正常執行,但使用源碼執行時無法下載

如標題,使用源碼執行下載時,cmd會出現「websocket 短時間連線太多會出問題」的錯誤;但拿打包的程式下載時就沒有出錯。
我大咯看了一眼源碼,感覺問題應該是出在 ws_get_host_and_m3u8_url 函式。但以我的三腳貓功夫沒辦法自行debug,再麻煩大大看一下。

另外share資料夾的myself方法似乎還是舊版的,如果大大不介意的話,希望可以更新一下,謝謝。

在Mac上無法打開main

Screen.Recording.2021-01-23.at.5.03.38.PM.mov

我已經在安全性和隱私性上允許打開main,但是我仍然無法打開它,我等待了10分鐘,但是仍然沒有任何反應, 是我做錯了什麼嗎

開始下載時會閃退

有登入也有更新 版本1.1.6 下載速度是星爆 連接5 10/23時用是正常的 不知道問題出在哪

有關 readme.md 內的問題

! 先說結論:我沒有遇到找不到 data-href 的問題(採用你附的程式碼是可以正常運作的)

原始問題節錄

網頁上的 source 碼 與 requests.get 後的結果。

image

import requests  
  
url = 'https://myself-bbs.com/forum.php?mod=viewthread&tid=43773&highlight=%E7%99%BD%E8%89%B2%E7%9B%B8%E7%B0%BF'  
headers = {  
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'}  
res = requests.get(url=url, headers=headers)  
print(res.text)

發現沒辦法取得到圖上紅框的 url。
接著我有將 header 加入更多的參數,以及丟cookies,依然沒有辦法取得URL。


我的環境

python3 --version

# Python 3.7.5
pip3 show requests

# Name: requests
# Version: 2.21.0
# Summary: Python HTTP for Humans.
# Home-page: http://python-requests.org
# Author: Kenneth Reitz
# Author-email: [email protected]
# License: Apache 2.0
# Location: /usr/lib/python3/dist-packages
# Requires: 
# Required-by: 

執行程式碼

import requests  
  
url = 'https://myself-bbs.com/forum.php?mod=viewthread&tid=43773&highlight=%E7%99%BD%E8%89%B2%E7%9B%B8%E7%B0%BF'  
headers = {  
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36'
}  
res = requests.get(url=url, headers=headers)  
with open("dump.html", "w") as f:
    f.write(res.text)

結果

Selection_035

另外我用過 curl 去請求相同網址,得出來的結果一樣含有 data-href 與完整網址,可以確定這部份是由網頁直接產生的,而不是經過 JavaScript 二階段產生。

不曉得你具體是遇到什麼問題呢?

影片下載下來後,並不是完整(完善)的

作者您好,很謝謝您提供這麼方便的程式
我一直以來都很想把myself網站的影片下載下來看
畢竟站內 "P2P" 會有卡頓的問題,可以說是完全解決了我的困擾

但是有一點這邊想請教一下,影片下載下來之後
有時候播放到某個時間,會卡卡的,這邊的卡卡的不是指影片暫停了
而是畫面和聲音都變得緩慢

也有小片段畫面重複2次的情況發生
請問這樣的問題是一直以來都有存在的嗎?
還是其實是我自己本身有甚麼設定或者是防毒軟體干擾導致的呢?

還請您幫小弟解惑,辛苦了,謝謝

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.