Python中的RSS阅读器
#教程 #python #rss #pythonprogramming

大家好,我希望每个人都过得愉快。今天,我想创建一篇简短的文章,介绍如何使用Python读取RSS Feed并使用Webhook通知Discord频道。首先,我想使用市场上的一些Discord机器人替代方案,但是免费选项对我想要的东西非常有限,使用工具来使您的生活更轻松,这还不错。 ,但老实说,我以此为借口在周末进行一些编码。这是我的爱好! €。

让我们开始

要开始,我们需要搜索具有RSS支持的任何站点;就我而言,我搜索了Android开发的来源,在此示例中,我将使用以下URL:

创建了项目后,我们需要安装** feedParser **库以使用Python读取RSS。

pip install feedparser

接下来,我们将创建我们的main.py,添加webhook,用户名和avatar url。

import feedparser

webhook = "https://discord.com/webhooks/{webhook_id}/{webhook_token}"
username = "Androd News"
avatar_url = "https://source.android.com/static/docs/setup/images/Android_symbol_green_RGB.png"

feed = feedparser.parse(feed_url)
print(feed)

如果一切正常,当您运行程序时,您应该能够看到类似于以下图像

的终端输出

Example of RSS reader result

让我们继续,我们将要做的下一件事就是创建一个类来管理我们的不和谐数据并具有启动通知的能力。我们将称我们的班级 discord_module/discordnews.py

import requests

class DiscordNews:

    def __init__(self, webhook, username, avatar_url, feed):
        self.webhook = webhook
        self.username = username
        self.avatar_url = avatar_url
        self.feed = feed

    def prepare_and_notify(self):
        for entry in self.feed.entries:
            self.__notify_to_discord_channel(entry)

    def __notify_to_discord_channel(self, data):
        # Code for notify to Discord channel

您可能已经注意到,我们在类构造函数中有2个参数:avatar_url和用户名,这些参数用于自定义在Discord Channel中的消息发布;使用avatar_url,我们指定一个图像的URL,该图像将为我们的机器人的图标,用户名将是其名称。

details of the bot’s post on the Discord channel

接下来的事情是将我们的课程导入 main.py.py 并调用函数 prepar_and_notify

discord = DiscordNews(webhook, username, avatar_url, feed)
discord.prepare_and_notify()

最后,我们运行了程序。

python main.py

Divider

结果

Example of messages in Discord channel

请参阅此处的完整代码

Divider

如果您喜欢我的内容并想支持我的工作,可以给我一杯咖啡。


Buy me a coffee

跟我进去