Scrapes high-quality Reddit comments from SaaS subreddits to build a training database for authentic reply generation.
{
"@context": "https://wrio.io/ns/workflow",
"@type": "Process",
"owner_type": "user",
"@id": "reddit-comment-scraper",
"name": "Reddit Comment Scraper",
"description": "Scrapes high-quality Reddit comments from SaaS subreddits to build a training database for authentic reply generation.",
"version": "1.0.0",
"entry_point_id": "start",
"inputs": [
{
"name": "subreddits",
"type": "array",
"label": "Subreddits RSS URLs",
"default": [
"https://www.reddit.com/r/SaaS/top/.rss?t=month",
"https://www.reddit.com/r/buildinpublic/top/.rss?t=month",
"https://www.reddit.com/r/entrepreneur/top/.rss?t=month",
"https://www.reddit.com/r/startups/top/.rss?t=month"
]
},
{
"name": "minUpvotes",
"type": "number",
"label": "Minimum upvotes for comments",
"default": 5
},
{
"name": "maxUpvotes",
"type": "number",
"label": "Maximum upvotes for comments",
"default": 100
},
{
"name": "targetCount",
"type": "number",
"label": "Target number of comments to collect",
"default": 100
}
],
"steps": [
{
"@type": "Step",
"@id": "start",
"name": "Start",
"step_type": "start",
"transitions": [
{
"target_id": "fetch_posts"
}
]
},
{
"@type": "Step",
"@id": "fetch_posts",
"name": "Fetch Top Posts",
"step_type": "service",
"action": "rss.fetch",
"params": {
"urls": "{{inputs.subreddits}}",
"limit": 50,
"timeFrame": "1m"
},
"transitions": [
{
"target_id": "scrape_threads"
}
]
},
{
"@type": "Step",
"@id": "scrape_threads",
"name": "Deep Scrape Threads",
"step_type": "service",
"action": "apify.scrapeReddit",
"params": {
"items": "{{fetch_posts.items}}",
"enabled": true,
"maxComments": 50,
"maxPosts": 20
},
"transitions": [
{
"target_id": "extract_comments"
}
]
},
{
"@type": "Step",
"@id": "extract_comments",
"name": "Extract & Filter Comments",
"step_type": "service",
"action": "reddit.extractComments",
"params": {
"posts": "{{scrape_threads.posts}}",
"minUpvotes": "{{inputs.minUpvotes}}",
"maxUpvotes": "{{inputs.maxUpvotes}}",
"targetCount": "{{inputs.targetCount}}"
},
"transitions": [
{
"target_id": "save_database"
}
]
},
{
"@type": "Step",
"@id": "save_database",
"name": "Save to Comment Database",
"step_type": "service",
"action": "storage.saveFile",
"params": {
"key": "wrio/inbox/reddit/comment-database.json",
"content": "{{extract_comments.comments}}",
"append": true
},
"transitions": [
{
"target_id": "end"
}
]
},
{
"@type": "Step",
"@id": "end",
"name": "End",
"step_type": "end",
"transitions": []
}
],
"outputs": {
"comments": "{{extract_comments.comments}}",
"totalCollected": "{{extract_comments.comments.length}}",
"savedPath": "wrio/inbox/reddit/comment-database.json"
}
}| Instance ID | Status | Updated At | Current Step | Actions | |
|---|---|---|---|---|---|
| Log 1 | Completed | N/A | |||
| Log 2 | Completed | N/A | |||
| Log 3 | Completed | N/A | |||
| Log 4 | Completed | N/A | |||
| Log 5 | Completed | N/A |
