Reddit是一个基于人们兴趣的社区网络。这些社区中的每一个都称为subreddit。用户可以订阅多个子reddit, 以对其进行发布, 评论和交互。
Reddit机器人可以自动响应用户的帖子或以一定的时间间隔自动发布内容。这可能取决于用户发布的内容。它可以由某些关键短语触发, 并且还取决于其内容的各种子项。
【Python–使用PRAW制作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课程。
推荐阅读
- Python逻辑运算符用法示例指南
- Python数据分析的数学运算指南
- Python成员和标识操作符详细指南
- Python Tkinter中的菜单小部件用法
- Python具有跟踪栏的OpenCV BGR调色板
- Python OpenCV cv2.arrowedLine()方法用法示例
- Python OpenCV cv2.copyMakeBorder()方法用法示例
- Python OpenCV cv2.cvtColor()方法用法示例
- Python OpenCV cv2.ellipse()方法用法介绍