1
0
Fork 0
mirror of synced 2024-05-14 17:22:48 +12:00
Go to file
Ali Parlakçı 148e20d1d6
v1.7.0 (#97)
* tools file name change to utils

* Seperate downloaders (#94)

* Seperated the downloaders

* Remove redundant code

* Changed file names

* refactor

* Redgifs (#95)

* Init commit

* Init commit

* GifDeliveryNetwork (#96)

* Initial commit

* Gfycat forwarding to GDN bug fixed
2020-05-28 21:42:11 +03:00
docs Merge pull request #63 from aliparlakci/moreUsefulReadme 2019-04-23 14:00:53 +03:00
src v1.7.0 (#97) 2020-05-28 21:42:11 +03:00
.gitignore v1.7.0 (#97) 2020-05-28 21:42:11 +03:00
_config.yml Set theme jekyll-theme-cayman 2018-07-26 19:21:55 +03:00
LICENSE Initial commit 2018-07-09 22:58:11 +03:00
README.md Important notice added 2020-05-27 01:01:05 +03:00
requirements.txt Add bs4 2018-08-28 16:15:22 +03:00
script.py v1.7.0 (#97) 2020-05-28 21:42:11 +03:00
setup.py Added .exe to executable's extension 2018-07-13 14:12:17 +03:00

Important

I haven't had the chance to work the application for several months due to my education. Now that the semester is over, I will fix the bugs and implement features that are asked as soon as possible. Yeeeyyy! 🎉🎉🎉

In the mean time, please give feedback on the Issues section and tell me about your experience with the program.

Bulk Downloader for Reddit

Downloads media from reddit posts. Made by u/aliparlakci

Download the latest release here

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 bulk-downloader-for-reddit.exe executable file for Windows, as a Linux binary or as a Python script. There is no MacOS executable, MacOS users must use the Python script option.

Executables

For Windows and Linux, download the latest executables, here.

Python script

  • Download this repository (latest 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 if you have any trouble with this step.

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.

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 (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 command line arguments

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

I am running the script on a headless machine or on a remote server. How can I authenticate my reddit account?

  • Download the script on your everday computer and run it for once.
  • Authenticate the program on both reddit and imgur.
  • Go to your Home folder (for Windows users it is C:\Users\[USERNAME]\, for Linux users it is /home/[USERNAME])
  • Copy the config.json file inside the Bulk Downloader for Reddit folder and paste it next to the file that you run the program.

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.

    Also if you already have a config.json file, you can paste it next to the script and override the one on your Home directory.

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 for viewing Markdown files with its styling. Install it and open the files with 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