All Projects → nikolajlauridsen → PrawWallpaperDownloader

nikolajlauridsen / PrawWallpaperDownloader

Licence: MIT license
Download images from reddit

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PrawWallpaperDownloader

RepostCheckerBot
Bot for checking reposts on reddit
Stars: ✭ 36 (+100%)
Mutual labels:  reddit, praw
Nintendeals
Library with a set of tools for scraping information about Nintendo games and its prices across all regions (NA, EU and JP).
Stars: ✭ 94 (+422.22%)
Mutual labels:  reddit, scraping
reddit-comment-bot
Reddit bot that auto replies to comments on set subreddits
Stars: ✭ 59 (+227.78%)
Mutual labels:  reddit, praw
RedditWallpaperBot
A Bot for Reddit that gets top Hot sorted picture from a given Subreddit and sets it as background.
Stars: ✭ 15 (-16.67%)
Mutual labels:  reddit, wallpapers
reddit get top images
Get top images from any subreddit
Stars: ✭ 37 (+105.56%)
Mutual labels:  reddit, reddit-pics
Multithreaded-Reddit-Image-Downloader
Does exactly what it says on the tin.
Stars: ✭ 38 (+111.11%)
Mutual labels:  reddit, praw
Socialreaper
Social media scraping / data collection library for Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 338 (+1777.78%)
Mutual labels:  reddit, scraping
subreddit-comments-dl
Download subreddit comments
Stars: ✭ 57 (+216.67%)
Mutual labels:  reddit, praw
vreddit-mirror-bot
🎥 Reddit bot that mirrors videos hosted on the native Reddit player to Gfycat and Streamable.
Stars: ✭ 23 (+27.78%)
Mutual labels:  reddit, praw
Reaper
Social media scraping / data collection tool for the Facebook, Twitter, Reddit, YouTube, Pinterest, and Tumblr APIs
Stars: ✭ 240 (+1233.33%)
Mutual labels:  reddit, scraping
Liked-Saved-Image-Downloader
Save content you enjoy!
Stars: ✭ 80 (+344.44%)
Mutual labels:  reddit, praw
reddit-image-fetcher
A JavaScript package for fetching reddit images, memes, wallpapers and more.
Stars: ✭ 40 (+122.22%)
Mutual labels:  reddit, wallpapers
Praw
PRAW, an acronym for "Python Reddit API Wrapper", is a python package that allows for simple access to Reddit's API.
Stars: ✭ 2,675 (+14761.11%)
Mutual labels:  reddit, praw
KustomPyper
Get amazing wallpapers from reddit, unsplash, bing and wallhaven for your Desktop
Stars: ✭ 24 (+33.33%)
Mutual labels:  reddit, wallpapers
reddit
Reddit client for Bobby B Bot
Stars: ✭ 62 (+244.44%)
Mutual labels:  reddit, praw
redditnav
RedditNav is a beautiful way of moving between threads, accelerating the way you browse reddit comments.
Stars: ✭ 49 (+172.22%)
Mutual labels:  reddit
Reddit-Embed
Embed any reddit post onto your website!
Stars: ✭ 15 (-16.67%)
Mutual labels:  reddit
Upvote-Anywhere
Upvote Anywhere Browser Extension
Stars: ✭ 339 (+1783.33%)
Mutual labels:  reddit
aPRAW
Asynchronous Python Reddit API Wrapper
Stars: ✭ 49 (+172.22%)
Mutual labels:  reddit
DownloadRedditImages
Easily download all the images from any subreddit (also select sort_type if you want hot/top/new/controversial, and also sort_time day/week/month/year/all). Randomly select downloaded images and set as wallpaper, updating every 30 mins (or whenever you want duh)!
Stars: ✭ 66 (+266.67%)
Mutual labels:  reddit

PrawPapers (Praw Wallpaper Downloader)

Download a bunch of wallpapers from the hot sections of r/wallpapers

It doesn't even have to be wallpapers! PrawPapers will download images from any subreddit

Going into a little more detail the script will:

  1. Query Reddit for an amount of posts (25 by default)
  2. Sift through the reddit posts finding direct image links and imgur posts/albums
  3. Extract all image links from any imgur albums found and add them to the link pool
  4. Check whether any of the links has been downloaded before, sorting out those who has
  5. Download all the now sorted links
  6. Go through all downloaded images deleting images smaller than the minimum size, and those with a different aspect ratio

The configuration mode lets you tweak almost all settings to your desire, including but not limited to:

  • Default subreddit
  • Minimum image dimensions
  • Amound of posts to sift through
  • And more

Inspirations is drawn from Daily-Reddit-Wallpaper

Features

  • Sort by size
  • Sort by aspect ratio
  • Multi threaded download for fast downloading
  • Database functionality ensuring no redownloads and allows you to keep track of images downloaded
  • Scrape by section
  • Scrape by subreddit search
  • Imgur album support (up to 10 images pr. album, will hopefully be improved)
  • Customize behaviour to your liking through an easy to use configurator
  • Logging functionality

Install process

  1. Download and install python from https://www.python.org/ (If you're unsure download version 3.5 and chose default install)
  2. Clone or download/extract the repository
  3. Install requirements with
py -m pip install -r requirements.txt

(You might have to use python or python3 instead of py depending on your system/install) 4. Set up your client_secret.json file

Setting up your client_secret.json file

The new version of praw requires you to identify the script before you can use it, this is fortunately quite easy, just follow the steps below.

  1. Go to this page on reddit (you might have to log in)
  2. Scroll down to the bottom and click the "Create another app" button
  3. Tick off 'script' and fill out the remaining boxes
  4. You'll now be able to see your app in the list
  5. Open your client_secret.json file in your favourite text editor
  6. Replace YOUR-CLIENT-ID with the weird line of characters under the "personal use script" label, keep the quotations (See screenshot)
  7. Repeat step 6 for the YOUR-CLIENT-SECRET field, this time using the characters next to the "secret" label (See screenshot)

Client secret guide

Requirements

  • praw
  • requests
  • bs4
  • pillow

Usage

The script can be run by double clicking prawpapers.py or via the commandline with the latter being the best option since the script accepts a variety of optional arguments

Examples

Basic use: search through the first 25 posts of /r/wallpapers

py prawpapers

"Advanced" use: Search the first 100 posts of /r/MinimalWallpaper and save a log

py prawpapers -s MinimalWallpaper -l 100 --log

Optional arguments

  • -con or --config enter configuration mode
  • --subreddit <subreddit> or -s <subreddit> specify which subreddit to download images from, omit the /r/ (default is wallpapers)
  • --limit <number> or -l <number> specify how many posts to search as a whole number (default is 25)
  • --threads <number> or -t <number> specify how many download threads to spawn
  • --re or -r will try to re download every post previously downloaded
  • --nc or --noclean don't delete small images
  • --ns or --nosort skip sorting out previosuly downloaded images
  • --na or --noalbum skip imgur albums
  • --log save a log of posts skipped
  • --verbose or -v print skipped posts to console
  • --section or -se <section> Specify which section you want to scrape (hot, new, top, rising)
  • --ratiolock or -rlock <lock strength> Lock downloaded images to a certain aspect ratio, the value of the lock will determine the allowed margin of error, 0 for no lock, 1 for fully locked (only exactly matching aspect ratios), I recommend a value between 0.9 and 1 for decent results.
  • --search or -q <query> scrape all search results of chosen subreddit
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].