Reddit是一个基于人们兴趣的社区网络。这些社区中的每一个都称为subreddit。用户可以订阅多个子reddit, 以对其进行发布, 评论和交互。
Reddit机器人可以自动响应用户的帖子或以一定的时间间隔自动发布内容。这可能取决于用户发布的内容。它可以由某些关键短语触发, 并且还取决于其内容的各种子项。
为了实现Reddit机器人, 我们将使用Python Reddit API包装器(PRAW)。它允许我们登录Reddit API以直接与网站的后端进行交互。有关此库的更多信息, 请参见此处–
PRAW – Python Reddit API包装器
我们的机器人会针对给定的单词说出相似的单词。我们将使用附魔模块的建议()查找相似单词的方法。
算法:
- 导入模块praw和附魔。
- 创建具有有效参数的授权Reddit实例。
- 选择要使用机器人的子目录。
- 选择一个词来触发该机器人在该subreddit中。
- 检查subreddit中的每个注释以获取触发短语。
- 找到触发短语后, 从注释中提取单词, 然后使用附魔模块。
- 用类似的词回复评论。
# import the modules
import praw
import enchant
# initialize with appropriate values
client_id = ""
client_secret = ""
username = ""
password = ""
user_agent = ""
# creating an authorized reddit instance
reddit = praw.Reddit(client_id = client_id, client_secret = client_secret, username = username, password = password, user_agent = user_agent)
# the subreddit where the bot is to be live on
target_sub = "GRE"
subreddit = reddit.subreddit(target_sub)
# phrase to trigger the bot
trigger_phrase = "! GfGBot"
# enchant dictionary
d = enchant. Dict ( "en_US" )
# check every comment in the subreddit
for comment in subreddit.stream.comments():
# check the trigger_phrase in each comment
if trigger_phrase in comment.body:
# extract the word from the comment
word = comment.body.replace(trigger_phrase, "")
# initialize the reply text
reply_text = ""
# find the similar words
similar_words = d.suggest(word)
for similar in similar_words:
reply_text + = similar + " "
# comment the similar words
comment.reply(reply_text)
触发机器人:
机器人用类似的话回答:
首先, 你的面试准备可通过以下方式增强你的数据结构概念:Python DS课程。
评论前必须登录!
注册