Bienvenue Étoile ?! Bienvenue pour soumettre des problèmes
Ce projet a remporté le prix spécial du concours Ten Lines of Code 2023 de la Tennis Association Guidance ?
Téléchargez la vidéo enregistrée de Yanhe Classroom
Prise en charge du téléchargement de cours pour les cours non électifs
Prise en charge du téléchargement par lots multithread
Prend en charge le téléchargement de vidéos informatiques ou d'enregistrements en classe
Enregistrer dans des dossiers classés par nom de cours
2023-4-10 Synchroniser les modifications de l'interface de la classe Yanhe
2023-4-20 Changer le mode d'exécution de js sans installer nodejs
2023-11-12 Optimiser l'efficacité des signatures et optimiser la vitesse de téléchargement
En théorie, il peut exécuter un réseau filaire Gigabit complet et le nombre de max_workers peut être modifié en fonction des performances de l'ordinateur.
2024-4-2 (?)Modifier la méthode d'implémentation de la signature
Abandonnez l'exécution de js, n'utilisez plus js2py, améliorez le problème de compatibilité n°5
Désormais, le signe temporel et le suffixe de l'URL sont tous deux natifs de py
2024-4-2 (?) Changer le mode d'interaction et ajouter des paramètres complets de ligne de commande
Prend en charge le téléchargement de toutes les leçons en même temps. Merci à @ZJC-GH pour vos suggestions et relations publiques.
Prise en charge du téléchargement VGA et vidéo séparément ou simultanément
Prend en charge les téléchargements incrémentiels et ignore automatiquement les fichiers téléchargés
Modifiez l'emplacement de stockage du fichier temporaire et placez-le en temp
Vous pouvez personnaliser l'emplacement du dossier de sortie
Pour plus de détails, voir #MÉTHODE D'ALIMENTATION
Optimiser la sortie ffmpeg
2024-4-3 (??) Ajout de l'interface interactive GUI
Basé sur PySimpleGUI4, peut fonctionner sur toutes les plateformes
Téléchargez le fichier exe dans Releases
Il est recommandé de télécharger la version avec ffmpeg, telle que yanhekt-xxx-gui-ffmpeg.exe
Exécutez-le directement et ignorez les parties suivantes
https://pypi.org/project/yanhekt/
Installer yanhekt
pip installer yanhekt
Assurez-vous que l'environnement de ligne de commande a ffmpeg
Après avoir téléchargé Windows, ajoutez simplement des variables d'environnement
Veuillez rechercher vous-même les informations d'installation pertinentes
Si la vidéo finale n'est pas fusionnée, il y a un problème avec l'environnement ffmpeg.
Téléchargez/clonez ce référentiel ou téléchargez les versions
Installer les packages de dépendances Python
pip install -r exigences.txt# (en fait, une seule requête)
Assurez-vous qu'il y a ffmpeg dans l'environnement de ligne de commande (ou dans le dossier de code)
Méthode simple Windows : télécharger et copier dans le dossier de code
La version de ce référentiel est livrée avec ffmpeg (exe uniquement)
Veuillez rechercher vous-même les informations d'installation pertinentes
Si la vidéo finale n'est pas fusionnée, il y a un problème avec l'environnement ffmpeg.
Méthode ouverte
Si vous publiez exe, ouvrez-le directement
Si vous utilisez pip pour installer
yanhekt-gui Yanhekt Gui
Si le code source s'exécute
python main.py interface graphique
Prêt à manger dès la sortie de la boîte
Ajoutez le lien ou l'ID de cours (Ctrl-C V)
Obtenir des informations sur les cours
Sélectionnez l'heure du cours à volonté (Ctrl, Maj, glisser la souris peut être utilisé pour sélectionner plusieurs fois)
Définissez certains paramètres, tels que les vidéos à télécharger
Ouvrez-le !
REMARQUE : si vous installez à partir d'une source locale, remplacez yanhekt
ou yanhekt-cli
dans cette section par python main.py
Obtenir l'identifiant du cours
Sur la page de détails du cours, notez qu'il ne s'agit pas de la page de lecture vidéo , comme https://www.yanhekt.cn/course/11111
.
Obtenez l'identifiant du cours à partir de l'URL, tel que 11111
Paramètres de ligne de commande
--skip
, ignore les vidéos téléchargées et télécharge uniquement les vidéos récemment téléchargées
# Exemple : Mettre à jour régulièrement toutes les vidéos du cours yanhekt 11111 --all --skip
--dual
, téléchargez l'enregistrement d'écran d'ordinateur et la vidéo de classe en même temps** (par défaut)**
--vga
, téléchargez uniquement les enregistrements d'écran d'ordinateur
--video
, téléchargez uniquement les vidéos de la classe
# Exemple : Téléchargez les leçons 3 à 8, téléchargez uniquement l'enregistrement d'écran de l'ordinateur yanhekt 11111 --range 3 9 --vga
--all
, téléchargez toutes les leçons
--list 0 2 4
, télécharge la liste des leçons sélectionnées
--range 3 5
, téléchargez les leçons dans une plage
# Exemple : Téléchargez les leçons 3-8 yanhekt 11111 --range 3 9 Yanhekt 11111-L 3 9
, donné directement
# Exemple : Afficher les informations sur le cours et la liste des vidéos yanhekt 11111
Précisez l'ID du cours
Sélectionnez le numéro de cours téléchargé
Sélectionnez le type de vidéo à télécharger
téléchargement incrémentiel
Pour une utilisation plus avancée, veuillez vous référer aux invites de ligne de commande.
!yanhekt --help# utilisation : main.py [-h] [-A | -L i [i ...] | -R i i] [-D | dir DIR] [--max-workers num] courseID# GDDG08/YanHeKT_Downloader# arguments de position :# courseID ID de cours de YanHeKT# options :# -h, --help afficher ce message d'aide et quitter# Sélection de leçon :# SI NONE, IMPRIMER LA LISTE DES LEÇONS ET QUITTER.# -A, --all Télécharger toutes les leçons# -L i [i ...], --list i [i ...]# Sélection de l'index de la leçon (par exemple, --list 1 2 4)# -R i i, --range i i Sélectionnez la gamme de leçons (par exemple, --range 3 5 pour [3,5))# Type de vidéo :# -D, --dual Téléchargez à la fois VGA (PC) et vidéo ( par défaut)# -G, --vga Télécharger VGA (PC) uniquement# -V, --video Télécharger la vidéo uniquement# Configurations :# -S, --skip Ignorer les fichiers existants# --dir DIR Répertoire de sortie (par exemple, -- dir ./output)# --max-workers num Nombre maximal de travailleurs à télécharger (par défaut : 32)
APPRÉCIER!
Encore aux premiers stades de développement, les demandes de fonctionnalités et les relations publiques sont les bienvenues
depuis yanhekt import YanHeKTyanhekt = YanHeKT(25555, _all=True, _dual=True, _skip=True, _dir='./')yanhekt.download()
@ Un camarade de classe de ZJC-GH a ajouté une fonction de téléchargement par lots
Les étudiants dans le besoin peuvent le télécharger et l’utiliser à partir de cette version de l’entrepôt.
Actuellement fusionné avec la branche de développement
Prévoyez d'utiliser argparse
pour améliorer les paramètres de ligne de commande et optimiser l'expérience interactive (implémenté dans la version 2.2.0)
(Super grosse tarte) Une fois les paramètres écrits, toute l'interface graphique simple
M3u8Télécharger