138 lines
5.3 KiB
Markdown
138 lines
5.3 KiB
Markdown
# Bulk Downloader for Reddit
|
||
|
||
Downloads media from reddit posts. Made by [u/aliparlakci](https://reddit.com/u/aliparlakci)
|
||
|
||
## 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
|
||
- 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
|
||
- 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
|
||
|
||
## Installation
|
||
|
||
You can use it either as a *Python script* or `bulk-downloader-for-reddit.exe` file.
|
||
|
||
### Executables
|
||
|
||
For Windows and Linux, [download the latest release, here](https://github.com/aliparlakci/bulk-downloader-for-reddit/releases/latest).
|
||
|
||
### Python script
|
||
|
||
* Download this repository ([latest zip](https://github.com/aliparlakci/bulk-downloader-for-reddit/archive/master.zip) or `git clone git@github.com:aliparlakci/bulk-downloader-for-reddit.git`).
|
||
* Enter its folder.
|
||
* Run `python ./script.py` from the command-line (Windows, MacOSX or Linux command line; it may work with Anaconda prompt) See [here](docs/INTERPRET_FROM_SOURCE.md#finding-the-correct-keyword-for-python) if you are having trouble.
|
||
|
||
It uses Python 3.6 and above. It won't work with Python 3.5 or any Python 2.x. If you have a trouble setting it up, see [here](docs/INTERPRET_FROM_SOURCE.md).
|
||
|
||
|
||
### Setting up the script
|
||
|
||
You need to create an imgur developer app in order API to work. Go to https://api.imgur.com/oauth2/addclient and fill the form (It does not really matter how you fill it).
|
||
|
||
It should redirect you to a page where it shows your **imgur_client_id** and **imgur_client_secret**.
|
||
|
||
When you run it for the first time, it will automatically create `config.json` file containing `imgur_client_id`, `imgur_client_secret`, `reddit_username` and `reddit_refresh_token`.
|
||
|
||
|
||
## Running
|
||
|
||
You can run it it an interactive mode, or using [command-line arguments](docs/COMMAND_LINE_ARGUMENTS.md) (also available via `python ./script.py --help` or `bulk-downloader-for-reddit.exe --help`).
|
||
|
||
To run the interactive mode, simply use `python ./script.py` or double click on `bulk-downloader-for-reddit.exe` without any extra commands.
|
||
|
||
### Example for an interactive script
|
||
|
||
```
|
||
(py37) bulk-downloader-for-reddit user$ python ./script.py
|
||
|
||
Bulk Downloader for Reddit v1.6.5
|
||
Written by Ali PARLAKCI – parlakciali@gmail.com
|
||
|
||
https://github.com/aliparlakci/bulk-downloader-for-reddit/
|
||
|
||
download directory: downloads/dataisbeautiful_last_few
|
||
select program mode:
|
||
|
||
[1] search
|
||
[2] subreddit
|
||
[3] multireddit
|
||
[4] submitted
|
||
[5] upvoted
|
||
[6] saved
|
||
[7] log
|
||
[0] exit
|
||
|
||
> 2
|
||
(type frontpage for all subscribed subreddits,
|
||
use plus to seperate multi subreddits: pics+funny+me_irl etc.)
|
||
|
||
subreddit: dataisbeautiful
|
||
|
||
select sort type:
|
||
|
||
[1] hot
|
||
[2] top
|
||
[3] new
|
||
[4] rising
|
||
[5] controversial
|
||
[0] exit
|
||
|
||
> 1
|
||
|
||
limit (0 for none): 50
|
||
|
||
GETTING POSTS
|
||
|
||
|
||
(1/24) – r/dataisbeautiful
|
||
AutoModerator_[Battle]_DataViz_Battle_for_the_month_of_April_2019__Visualize_the_April_Fool's_Prank_for_2019-04-01_on__r_DataIsBeautiful_b8ws37.md
|
||
Downloaded
|
||
|
||
(2/24) – r/dataisbeautiful
|
||
AutoModerator_[Topic][Open]_Open_Discussion_Monday_—_Anybody_can_post_a_general_visualization_question_or_start_a_fresh_discussion!_bg1wej.md
|
||
Downloaded
|
||
|
||
...
|
||
|
||
Total of 24 links downloaded!
|
||
|
||
Press enter to quit
|
||
```
|
||
|
||
|
||
## FAQ
|
||
|
||
### 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.
|
||
|
||
### What do the dots resemble when getting posts?
|
||
- Each dot means that 100 posts are scanned.
|
||
|
||
### Getting posts takes too long.
|
||
- You can press *Ctrl+C* to interrupt it and start downloading.
|
||
|
||
### How are the filenames formatted?
|
||
- **Self posts** and **images** that do not belong to an album and **album folders** are formatted as:
|
||
`[SUBMITTER NAME]_[POST TITLE]_[REDDIT ID]`
|
||
You can use *reddit id* to go to post's reddit page by going to link reddit.com/[REDDIT ID]
|
||
|
||
- An **image in an 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].
|
||
|
||
### How do I open self post files?
|
||
- 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.
|
||
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
|
||
|
||
## Changelog
|
||
|
||
* [See the changes on *master* here](docs/CHANGELOG.md)
|