• Stars
    star
    125
  • Rank 286,335 (Top 6 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 6 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Grabs all of the audio files from all of the Blinkist books

Blinkist M4A Downloader

Build Status GitHub license Version Go Report Card

What is Blinkist.com

  • Listen to key ideas from the world's best non-fiction books in just 15 minutes.

Requirements

  • Golang 1.10.2 or higher.
  • Blinkist (https://www.blinkist.com) Premium account.
  • Roughly 25 GB of free disk space.
  • wget installed and setup in PATH

Configuration

Enter your username and password in:

  1. blinkist/main.go, lines #16, #17.
  2. download/download.go, lines #17, #18.

Application

  • Run go run main.go inside blinkist/ folder to produce books_urls.txt, the list of unduplicated URLs of all of the books.
  • Run go run download.go inside download/ folder to start downloading audio files from the above URLs. books_urls.txt must be present in the download/ folder!

Technical details of the solution

  1. Look for HTML tag data-book-id e.g."5c28f2fc6cee070008e7a3d7" in each book URL.

  2. Look for all HTML tags data-chapterNo e.g."1" and corresponding data-chapterId e.g."5c28f3296cee070007b46369" (both on the same line) from each book URL.

  3. Construct this API link to get the short-lived download link: https://www.blinkist.com/api/books/<data-book-id>/chapters/<data-chapterId>/audio. (e.g.https://www.blinkist.com/api/books/5c28f2fc6cee070008e7a3d7/chapters/5c28f3296cee070007b46369/audio).

  4. Read the output for each book chapter, e.g.:

{"url":"https://abcdefgh12345.cloudfront.net/5c28f2fc6cee070008e7a3d7/5c28f3296cee070007b46369.m4a?Expires=1234567890\u0026Signature=abcdefghijklmnopqrstuvwxyz1234-567890abcde-fghi~jklmnopqrstuvwxyz1234567890abcdefgh~jklmnopqrstuvwxyz1234567890abcdefgh-abcd~abcdefghijklmnopqrstuvwxyz1234-567890abcde~jklmnopqrstuvwxyz1234567890abcdefgh-jklmnopqrstuvwxyz1234567890abcdefgh-567890abcde__\u0026Key-Pair-Id=ABCDEFGHIJKLMNOPQRST"}
  1. If the book contains audio (the previous step returns something), create a folder based on JavaScript tag e.g."reader:book:title:changed", "Bad Blood" on the local drive.

  2. Decode to proper URL, (replace \u0026 with &), e.g.: https://abcdefgh12345.cloudfront.net/5c28f2fc6cee070008e7a3d7/5c28f3296cee070007b46369.m4a?Expires=1234567890&Signature=abcdefghijklmnopqrstuvwxyz1234-567890abcde-fghi~jklmnopqrstuvwxyz1234567890abcdefgh~jklmnopqrstuvwxyz1234567890abcdefgh-abcd~abcdefghijklmnopqrstuvwxyz1234-567890abcde~jklmnopqrstuvwxyz1234567890abcdefgh-jklmnopqrstuvwxyz1234567890abcdefgh-567890abcde__&Key-Pair-Id=ABCDEFGHIJKLMNOPQRST

  3. Download the chapter using the above link as the m4a file. Filename will be based on data-chapterNo and stored in the book title folder, e.g.: Bad Blood/000.m4a, Bad Blood/001.m4a, Bad Blood/002.m4a,... .

Stats

Item Size
Categories 27
Books 1,771
Books with Audio 1,576
Books missing Audio 195
No. of m4a files 14,646
All files size 26,473,732,000 B (25.2GB)

More Repositories

1

openshift-cheatsheet

Red Hat OpenShift cheatsheet
82
star
2

RHCE

Red Hat Certified Engineer exercises & labs
Shell
34
star
3

Manning-Publications-Ebooks-Downloader

Python tool to easily download Manning products that you own
Python
33
star
4

docker-cheatsheet

The ultimate command line guide for Docker
29
star
5

aws-apac-sa-candidate

Amazon Web Services solution architecture (interview)
21
star
6

dzone-refcardz-downloader

Downloads all refcardz from https://dzone.com/refcardz
Go
19
star
7

ansible-cheatsheet

Red Hat Ansible cheatsheet
Python
19
star
8

kubernetes-cheatsheet

The ultimate command line guide for K8s
HTML
15
star
9

terraform-playground

HashiCorp Terraform playground
HCL
15
star
10

terraform-azure-aro

Terraform module to create ARO cluster on MS Azure
HCL
10
star
11

professional-it-certifications

8
star
12

aws-whitepapers-downloader

Golang downloader for all AWS whitepapers
Go
7
star
13

jenkins-ci

Certified Jenkins Engineer (CJE) 2017
7
star
14

calibre-plugin-remove-extension

Plugin for Calibre (https://calibre-ebook.com/). Read the Wiki!
Python
6
star
15

most-frequently-used-keywords-in-devops-jobs-au

What are the most frequently used keywords in DevOps & Solution Architect jobs in Australia?
Python
4
star
16

ansible-role-openshift4-cis

CIS Kubernetes Benchmark 1.5.1 tailored to Red Hat OpenShift v4
3
star
17

CopyQ-for-RHEL8

RHEL8, CentOS8 RPM packages for CopyQ
Dockerfile
3
star
18

FileZilla-for-CentOS7

FileZilla for CentOS 7.5
3
star
19

puppet-playground

Puppet playground
Puppet
3
star
20

luckylittle.github.io

luckylittle.github.io
HTML
3
star
21

zabbix-templates

Zabbix v2.4.X templates for hosted infrastrucure
3
star
22

kerio-api

kerio-api-php
PHP
3
star
23

predb_me_rss_parser

Golang implementation of the RSS parser for https://predb.me/
Go
2
star
24

aws-cloudformation-nodejs

This was created for an interview with Francis Naoum from AMP
Dockerfile
2
star
25

CopyQ-for-RHEL7

Clipboard Manager with Advanced Features
Shell
2
star
26

go-playground

Go playground & notes
Go
2
star
27

google-chromium-favourite-extensions

Google Chromium / Iron browser extensions (@luckylittle's favourite)
2
star
28

red_hat_advanced_cluster_management_for_kubernetes-docs

Mirror of https://access.redhat.com/documentation/en-us/red_hat_advanced_cluster_management_for_kubernetes/<VERSION>/
2
star
29

ansible-role-skeleton

ansible-role-skeleton
2
star
30

ansible-role-zero-footprint-ruT-seedbox

ansible-role-zero-footprint-ruT-seedbox
Jinja
2
star
31

custom-rancher-catalog-1

custom-rancher-catalog-1
1
star
32

ruby-tools

Ruby tools
Ruby
1
star
33

packtpub-new-ebooks-checker

Golang application that lists latest e-books on the Packt Publishing website
Go
1
star
34

Introduction-to-GitOps-with-OpenShift

Introduction to GitOps with OpenShift
Shell
1
star
35

red-hat-ansible-advanced-Dec2018

Advanced Deployment with RH Ansible Automation ILT | Dec 3 - 7, 2018
Jinja
1
star
36

ocp311-example-inventory

For Testing Prerequisites & Deployment of OCP3.11 with Tower 3.6.0 in the Lab
1
star
37

exercism.io

http://exercism.io/luckylittle
Ruby
1
star
38

ruby-playground

Ruby playground
Ruby
1
star
39

Various_hires_RHEL_Wallpapers

High resolution wallpapers
1
star
40

custom-rancher-catalog-3

custom-rancher-catalog-3
1
star
41

custom-rancher-catalog-2

custom-rancher-catalog-2
1
star
42

rhte2019-south-korea-gitops

Demo for "Operationalizing OpenShift with GitOps" session
Jinja
1
star
43

cba-system-engineer

Interview with Andrew Tenney
Python
1
star
44

ansible-role-preupgrade-assistant-el5toel7

ansible-role-preupgrade-assistant-el5toel7
1
star
45

lightweight-web-based-full-text-search-engine

Lightweight web-based full-text search engine
HTML
1
star
46

luckylittle

โœจspecial โœจ repository
1
star
47

professional-it-courses

1
star
48

GNOME-Clocks-for-RHEL8

1
star