RedditGet
This gem allows you to grab posts and comments from Reddit without any auth. It concurrently grabs multiple subbreddits at a time to utilize your machine as much as possible and increase throughput.
No setup and a clean interface makes this gem ideal when you just want to process public reddit data.
Zero dependencies.
The Redd gem seems to be abandoned so I created this gem to meet my needs.
Installation
gem 'reddit_get'
And then execute:
$ bundle install
Or install it yourself as:
$ gem install reddit_get
Usage
You want to grab many subreddits
results = RedditGet::Subreddit.collect_all %w[gaming videos movies funny]
results # will hold RedditGet::Data which acts like a hash
results.gaming.each do |post|
puts post['title']
end
You want to grab one subreddit
result = RedditGet::Subreddit.collect('gaming')
result.gaming.each do |post|
puts post.title # all gaming posts titles
end
result['gaming'] # works too!
You want to grab comments as well
Note: This grabs X subreddits M posts and N comments per post. So it is making X*M*N HTTP requests.
results = RedditGet::Subreddit.collect_all %w[gaming videos movies funny], with_comments: true
results.gaming.each do |post|
puts post.title
post.comments.each do |comment|
puts comment.body rescue nil
end
end
# also works with single subreddit
RedditGet::Subreddit.collect 'gaming', with_comments: true
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/AlessandroMinali/reddit_get.
License
The gem is available as open source under the terms of the MIT License.