Expand description
pullcaps
The pullcaps
crate provides a convenient, opinionated, asynchronous client
for the PushShift API.
Getting all comments from a specific user.
The following example shows a small script that gets all comments made by a specific user.
use futures::StreamExt;
use pullcaps::{Client, Filter};
let client = Client::new();
let filter = Filter::new().author("reddit");
let mut comments = client.get_comments(filter).await;
while let Some(comment) = comments.next().await {
println!("text: {}", comment.body);
}
NOTE: If you plan to perform multiple requests, it is best to create a Client
and reuse it.
Getting posts in a given subreddit
The following example shows how to get posts from a given subreddit - in particular
we utilize [futures::StreamExt::take
] to limit ourselves to the five most recent posts
in the subreddit.
use futures::StreamExt;
use pullcaps::{Client, Filter};
let client = Client::new();
let filter = Filter::new().subreddit("askreddit");
let mut posts = client.get_posts(filter).await.take(5);
while let Some(post) = posts.next().await {
if let Some(text) = post.self_text {
println!("text: {}", text);
}
}
Modules
The data model underlying the PushShift API.
Structs
An opinionated asynchronous Client
to make requests to the PushShift API.
Used to filter a particular query down in some way.
Enums
Indicates how a particular query should be sorted.