{"id":23991279,"url":"https://github.com/loglux/learnvideodownloader","last_synced_at":"2025-04-30T06:27:06.807Z","repository":{"id":246568324,"uuid":"821485745","full_name":"loglux/LearnVideoDownloader","owner":"loglux","description":"LearnVideoDownloader is a Python script designed to download videos, audios and subtitles from the Microsoft Learn platform. The script allows users to specify the quality of videos and the preferred languages for subtitles.","archived":false,"fork":false,"pushed_at":"2025-02-03T16:37:44.000Z","size":23,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-03T17:40:11.119Z","etag":null,"topics":["ms-learn","python-downloader","video-downloader"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/loglux.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-28T16:41:54.000Z","updated_at":"2025-02-03T16:37:48.000Z","dependencies_parsed_at":"2024-06-28T18:55:59.052Z","dependency_job_id":"f160ec22-a3e3-4154-b0a9-8940eeac7553","html_url":"https://github.com/loglux/LearnVideoDownloader","commit_stats":null,"previous_names":["loglux/learnvideodownloader"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2FLearnVideoDownloader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2FLearnVideoDownloader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2FLearnVideoDownloader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/loglux%2FLearnVideoDownloader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/loglux","download_url":"https://codeload.github.com/loglux/LearnVideoDownloader/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240605841,"owners_count":19827985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ms-learn","python-downloader","video-downloader"],"created_at":"2025-01-07T19:38:56.816Z","updated_at":"2025-02-25T05:17:17.090Z","avatar_url":"https://github.com/loglux.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LearnVideoDownloader\n\n*LearnVideoDownloader* is a Python script designed to download videos, audios and subtitles from the Microsoft Learn platform. The script allows users to specify the quality of videos and the preferred languages for subtitles.\n\n## Features\n\n- Download videos in high, medium, or low quality.\n- Download audio files.\n- Download subtitles in specified languages.\n\n## Important\n\n- Downloads videos and audio files in their original quality without re-encoding.\n\n## Requirements\n\n- Python 3.x\n- Requests library\n- BeautifulSoup library\n\n## Installation\n\n1. Clone the repository:\n\n```bash\ngit clone https://github.com/loglux/LearnVideoDownloader.git\n```\n\nNavigate to the project directory:\n\n```bash\ncd LearnVideoDownloader\n```\n\nInstall the required libraries:\n```bash\npip install requests beautifulsoup4 tqdm\n```\n### Usage:\nEdit the urls list in the script to include the URLs of the Microsoft Learn videos you want to download.\n\nSet your preferred languages for subtitles by modifying the preferred_languages list.\n\nRun the script:\n``` bash\npython learn_video_helper.py\n```\n### Example:\n```python\n\nif __name__ == \"__main__\":\n    urls = [\n        \"https://learn.microsoft.com/en-us/shows/on-demand-instructor-led-training-series/ai-050-module-1/\",\n        \"https://learn.microsoft.com/en-us/shows/on-demand-instructor-led-training-series/ai-050-module-2/\",\n        # Add more URLs as needed\n    ]\n    preferred_languages = ['en-us', 'ru-ru']  # Example preferred languages: English and Russian subtitles\n    for url in urls:\n        downloader = VideoDownloader(url)\n        downloader.run(download_high_quality=True,\n                       download_medium_quality=False,\n                       download_low_quality=False,\n                       download_audio=True,\n                       download_captions=True,\n                       preferred_languages=preferred_languages)\n```\n\n## Fetch All Links in a Video Series\nThe LearnVideoFetcher script extends the functionality of the main project by dynamically generating URLs for a series of videos based on a specified base URL and number of modules.\n### Usage:\nTo fetch all links in a video series, follow these steps:\nRun the Script:\n```bash\npython fetch_all_links.py [base_url] [num_modules]\n```\nReplace [base_url] with any URL from the series and [num_modules] with the total number of modules in the series.\n\n### Example:\n\nSuppose you have a series with a URL like \"https://learn.microsoft.com/en-us/shows/on-demand-instructor-led-training-series/ai-900-module-3\" and there are 7 modules in the series. You can generate URLs dynamically by passing the URL as it is:\n```bash\npython fetch_all_links.py https://learn.microsoft.com/en-us/shows/on-demand-instructor-led-training-series/ai-900-module-3 7\n```\nThis script will automatically generate URLs for modules 1 through 7 and download their associated content.\n\n## Fetch Links from File\n\nIn addition to the existing functionality, the script allows you to fetch and download content from a text file containing a list of links.\n\n### How to Use:\n1. Save your list of links in a file (for example, `links.txt`).\n2. Run the script, specifying the file path that contains the links:\n```bash\npython fetch_from_file.py links.txt --languages en-us ru-ru\n```\nIn this command, --languages is an optional argument to specify the preferred languages for subtitles.\nThis script should correctly process each link from your file and perform the necessary operations with each of them, including downloading videos and subtitles.\n\n## License\nThis project is licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floglux%2Flearnvideodownloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Floglux%2Flearnvideodownloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Floglux%2Flearnvideodownloader/lists"}