GitXplorerGitXplorer
h

languagepod101-downloader

public
0 stars
0 forks
1 issues

Commits

List of commits on branch master.
Unverified
f2461ef13eaa1c0f558fd7a0d85e62d65945bb5d

Add date range filtering.

hholocronweaver committed 3 years ago
Unverified
7fda90c0ffe35719183006f89bf4102e706ecc20

Add random jiggle to sleep time between requests

hholocronweaver committed 3 years ago
Unverified
97073fe4cfeb58a6fdcaebc911f11093aaa419d4

Pass user agent to mimic podcast app.

hholocronweaver committed 3 years ago
Unverified
a40524603a251e6f3a9965a01327fe15ac9327d2

Exit if an invalid URL is provided.

hholocronweaver committed 7 years ago
Unverified
aa37f4f9dd5f0d72e148996329c928bb8fde7676

Fix subheaders.

hholocronweaver committed 7 years ago
Unverified
40fae5043539706f32be3dca23059593bccdccf8

Hello world.

hholocronweaver committed 7 years ago

README

The README file for this repository.

Python3 scripts written hastily prior to a lengthy plane trip in order to:

  • bulk download RSS feed items from LanguagePod101 sites.
  • organize downloaded files into subfolders according to subject.

The script downloads everything available in a LanguagePod101 RSS feed, including audio, video, and PDF notes. Should work on any LanguagePod101 site, including JapanesePod101, ChineseClass101 and SpanishPod101.

If the download script is interrupted, it can be resumed. The downloader uses four threads by default, feel free to tweak as needed.

NOTE: While this should work for free LanguagePod101 accounts, a paid account is typically required to access the full archives.

Requirements

  • Python 3 (easily portable to Python 2 if you really need to)
  • requests (pip3 install requests)
  • an account on a LanguagePod101 site
  • enough free disk space to download the feed (examples: 45.3 GB for JapanesePod101 as of 2017-12, 5.5 GB for UrduPod101)

Usage

Download

  1. Fill in parameters.py with your download target and account information.
  2. Run the download script: python3 download.py parameters.py. This could take a few hours depending on the size of the archives and the speed of your connect. If for any reason the script is interrupted before completion, just run it again and it will resume from where it left off. Resuming will skip any files which were already downloaded.
  3. Check the download.log in your output path for ERRORs. A few errors is normal, especially in older feeds like JapanesePod101 which contain some dead links.

Organize (optional)

  1. After downloading is complete, run the organize script: python3 organize.py parameters.py. Your files will be organized into subfolders according to subject.
  2. Check the organize.log in your output path for ERRORs. There shouldn't be any, but a few is probably OK.
  3. Typically a few files have inconsistent or malformed filenames and thus are not auto-organized. You can organize these manually by fixing whatever is inconsistent with the filenames, then either run organize.py again or manually move the files to their correct folders.

License

This source code is released under the Mozilla Public License 2.0.

To Coders

These scripts can be reused to bulk download and organize other RSS feeds with little modification. You will mostly need to change which RSS <item> fields are used by the download.py:download_item() function to generate filenames, then alter organize.py to follow your chosen file naming scheme.

If you create a project based on this code, I'd love to hear about it!

To Everyone

I am in no way affiliated with LanguagePod101, just love their content and want to make it easier for paid subscribers to manage the large and sometimes unwieldy archives which many podcast downloaders choke on. Try bulk downloading early episodes of JapanesePod101 on a mobile device and you'll see what I mean.