1
0
Fork 0
mirror of synced 2024-06-29 03:21:19 +12:00
bulk-downloader-for-reddit/README.md

122 lines
6.8 KiB
Markdown
Raw Normal View History

2018-07-10 07:58:11 +12:00
# Bulk Downloader for Reddit
This program downloads imgur, gfycat and direct image and video links of saved posts from a reddit account. It is written in Python 3.
2018-07-12 08:23:55 +12:00
**PLEASE** post any issue you have with the script to [Issues](https://github.com/aliparlakci/bulk-downloader-for-reddit/issues) tab. Since I don't have any testers or contributers I need your feedback.
2018-07-10 07:58:11 +12:00
## What it can do
- Can get posts from: frontpage, subreddits, multireddits, redditor's submissions, upvoted and saved posts; search results or just plain reddit links
- Sorts posts by hot, top, new and so on
2018-07-24 23:16:46 +12:00
- Downloads **REDDIT** images and videos, **IMGUR** images and albums, **GFYCAT** links, **EROME** images and albums, **SELF POSTS** and any link to a **DIRECT IMAGE**
- Skips the existing ones
2018-07-24 23:16:46 +12:00
- Puts post title and OP's name in file's name
- Puts every post to its subreddit's folder
- Saves a reusable copy of posts' details that are found so that they can be re-downloaded again
- Logs failed ones in a file to so that you can try to download them later
2018-07-10 11:27:44 +12:00
2018-07-12 11:01:29 +12:00
## [Download the latest release](https://github.com/aliparlakci/bulk-downloader-for-reddit/releases/latest)
## How it works
2018-07-12 22:32:59 +12:00
- For **Windows** and **Linux** users, there are executable files to run easily without installing a third party program. But if you are a paranoid like me, you can **[compile it from source code](docs/COMPILE_FROM_SOURCE.md)**.
2018-07-13 23:34:20 +12:00
- In Windows, double click on bulk-downloader-for-reddit file
- In Linux, extract files to a folder and open terminal inside it. Type **`./bulk-downloader-for-reddit`**
2018-07-12 22:32:59 +12:00
- **MacOS** users have to **[compile it from source code](docs/COMPILE_FROM_SOURCE.md)**.
2018-07-26 21:23:08 +12:00
### Additional options
2018-07-26 20:15:13 +12:00
Script also accepts additional options via command-line arguments, get further information from **[`--help`](docs/COMMAND_LINE_ARGUMENTS.md)**
2018-07-10 11:00:55 +12:00
## Setting up the script
2018-07-10 07:58:11 +12:00
Because this is not a commercial app, you need to create an imgur developer app in order API to work.
### Creating an imgur app
* Go to https://api.imgur.com/oauth2/addclient
* Enter a name into the **Application Name** field.
* Pick **Anonymous usage without user authorization** as an **Authorization type**\*
* Enter your email into the Email field.
* Correct CHAPTCHA
* Click **submit** button
2018-07-26 21:23:08 +12:00
It should redirect you to a page which shows your **imgur_client_id** and **imgur_client_secret**
2018-07-10 07:58:11 +12:00
2018-07-26 21:23:08 +12:00
\* Select **OAuth 2 authorization without a callback URL** first then select **Anonymous usage without user authorization** if it says *Authorization callback URL: required*. If this does not work, it is safe to proceed with **OAuth 2 authorization without a callback URL**.
2018-07-10 07:58:11 +12:00
## FAQ
2018-07-25 22:50:11 +12:00
### What do the dots resemble when getting posts?
2018-07-25 22:48:02 +12:00
- Each dot means that 100 posts are scanned.
### Getting posts is taking too long.
- You can press Ctrl+C to interrupt it and start downloading.
2018-07-25 08:41:02 +12:00
### How downloaded files' names are formatted?
2018-07-26 21:23:08 +12:00
- Self posts and images that are not belong to an album are formatted as **`[SUBMITTER NAME]_[POST TITLE]_[REDDIT ID]`**.
2018-07-25 08:41:02 +12:00
You can use *reddit id* to go to post's reddit page by going to link **reddit.com/[REDDIT ID]**
- An image in an imgur album is formatted as **`[ITEM NUMBER]_[IMAGE TITLE]_[IMGUR ID]`**
Similarly, you can use *imgur id* to go to image's imgur page by going to link **imgur.com/[IMGUR ID]**.
2018-07-13 23:37:35 +12:00
### How do I open self post files?
2018-07-12 08:23:55 +12:00
- Self posts are held at reddit as styled with markdown. So, the script downloads them as they are in order not to lose their stylings.
2018-07-13 23:37:35 +12:00
However, there is a [great Chrome extension](https://chrome.google.com/webstore/detail/markdown-viewer/ckkdlimhmcjmikdlpkmbgfkaikojcbjk) for viewing Markdown files with its styling. Install it and open the files with [Chrome](https://www.google.com/intl/tr/chrome/).
However, they are basically text files. You can also view them with any text editor such as Notepad on Windows, gedit on Linux or Text Editor on MacOS
2018-07-10 11:27:44 +12:00
2018-07-18 18:17:36 +12:00
### How can I change my credentials?
- All of the user data is held in **config.json** file which is in a folder named "Bulk Downloader for Reddit" in your **Home** directory. You can edit
them, there.
2018-07-23 03:16:11 +12:00
## Changes on *master*
2018-07-26 21:01:00 +12:00
### [26/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/1623722138bad80ae39ffcd5fb38baf80680deac)
- Improved verbose mode
- Minimalized the console output
2018-07-27 00:08:23 +12:00
- Added quit option for auto quitting the program after process finishes
2018-07-26 21:01:00 +12:00
2018-07-25 22:53:33 +12:00
### [25/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/1623722138bad80ae39ffcd5fb38baf80680deac)
- Added verbose mode
2018-07-26 21:01:00 +12:00
- Stylized the console output
2018-07-25 21:25:39 +12:00
2018-07-25 04:35:49 +12:00
### [24/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/7a68ff3efac9939f9574c2cef6184b92edb135f4)
- Added OP's name to file names (backwards compatible)
- Deleted # char from file names (backwards compatible)
2018-07-25 04:45:37 +12:00
- Improved exception handling
2018-07-25 04:10:34 +12:00
2018-07-24 08:18:10 +12:00
### [23/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/7314e17125aa78fd4e6b28e26fda7ec7db7e0147)
2018-07-26 21:01:00 +12:00
- Splited download() function
2018-07-24 08:18:10 +12:00
- Added erome support
2018-07-26 21:01:00 +12:00
- Removed exclude feature
- Bug fixes
2018-07-24 07:07:28 +12:00
2018-07-26 21:01:00 +12:00
### [22/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/6e7463005051026ad64006a8580b0b5dc9536b8c)
2018-07-23 02:39:30 +12:00
- Put log files in a folder named "LOG_FILES"
2018-07-23 03:06:24 +12:00
- Fixed the bug that makes multireddit mode unusable
2018-07-23 02:39:30 +12:00
2018-07-22 07:03:16 +12:00
### [21/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/4a8c2377f9fb4d60ed7eeb8d50aaf9a26492462a)
2018-07-22 06:54:23 +12:00
- Added exclude mode
2018-07-26 21:01:00 +12:00
### [20/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/7548a010198fb693841ca03654d2c9bdf5742139)
2018-07-20 22:01:21 +12:00
- "0" input for no limit
2018-07-20 22:33:50 +12:00
- Fixed the bug that recognizes none image direct links as image links
2018-07-20 22:01:21 +12:00
2018-07-20 00:22:12 +12:00
### [19/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/41cbb58db34f500a8a5ecc3ac4375bf6c3b275bb)
2018-07-19 23:57:16 +12:00
- Added v.redd.it support
- Added custom exception descriptions to FAILED.json file
2018-07-20 00:22:12 +12:00
- Fixed the bug that prevents downloading some gfycat URLs
2018-07-13 23:13:39 +12:00
### [13/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/9f831e1b784a770c82252e909462871401a05c11)
2018-07-26 21:01:00 +12:00
- Changed config.json file's path to home directory
2018-07-13 23:13:39 +12:00
2018-07-13 08:05:13 +12:00
### [12/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/50a77f6ba54c24f5647d5ea4e177400b71ff04a7)
2018-07-12 23:15:26 +12:00
- Added binaries for Windows and Linux
- Wait on KeyboardInterrupt
2018-07-13 08:05:13 +12:00
- Accept multiple subreddit input
2018-07-13 06:16:20 +12:00
- Fixed the bug that prevents choosing "[0] exit" with typing "exit"
2018-07-12 11:07:02 +12:00
### [11/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/a28a7776ab826dea2a8d93873a94cd46db3a339b)
2018-07-12 07:33:10 +12:00
- Improvements on UX and UI
- Added logging errors to CONSOLE_LOG.txt
- Using current directory if directory has not been given yet.
2018-07-12 08:23:55 +12:00
2018-07-10 12:13:39 +12:00
### [10/07/2018](https://github.com/aliparlakci/bulk-downloader-for-reddit/tree/ffe3839aee6dc1a552d95154d817aefc2b66af81)
2018-07-10 10:58:42 +12:00
- Added support for *self* post
2018-07-10 23:03:40 +12:00
- Now getting posts is quicker