将我超简单的Python聊天机器人变成网站

时间:2018-07-13 00:48:50

标签: chatbot

因此,我只是将Python作为一种“爱好”来学习,并试图基于一个朋友,该朋友具有一种不寻常的说话方式,从而创建了一个gag聊天机器人网站。我想出了下面的Python代码,看起来很不错,但是我不知道如何将其放入一个可以与我们的朋友分享的实际网站中。我仔细研究了一下,这个问题对于这个网站可能太简单了,但是在这里:

import random
dude_responses = ["Obscenity1", "Obscenity2", "Obscenity3"]
print("Dude: Hello")
input("You: ")
def dude():
    print("RB: " + random.choice(dude_responses))
while True:
    dude()
    input("You: ")

这使我与Python提示符进行了以下交互-如何将其大致镜像到一个简单的网站?是的,该机器人的全部要点是其响应与所讲的内容无关:)

Dude:您好 你:你好 RB:淫秽3 你什么? RB:淫秽1 你:嗯? RB:淫秽1 您:

1 个答案:

答案 0 :(得分:0)

您可以选择一些指导。

显而易见的一个源于您的问题标题,它是在Web服务器上运行Python代码,然后生成与您的核心代码交互的网页。这些是您在问题评论中得到的建议类型。这种方法的问题在于,必须为交互式客户端-服务器应用程序处理整个Web堆栈,而这些堆栈又复杂又异构,因此对于初学者来说很难设置。 (服务器接收请求,将其发送到服务器端应用程序,使用结果生成网页和会话信息,将网页发送给客户端;客户端使用控件呈现网页,然后通过[相当容易但笨拙]的形式或通过websocket或Socket.io [动态,甚至更复杂]。)请参阅您在此方向上获得的一些指针注释。

对于像这样的简单应用程序,一个更简单的选择就是在网络浏览器中的一个独立页面中完成所有操作。在这种情况下,您只需要使用控件和按钮而不是input语句编写一些与Python应用程序等效的javascript。然后将该javascript嵌入HTML文件中,并将HTML文件托管在任何服务器上(可能甚至是Google Sites页面),或者只是将HTML文件发送给您的用户,然后让他们在网络浏览器中打开它。但这并不会重用您已经从Python中学到的很多知识。

另一个选择是在网络浏览器中使用Python。这意味着要使用允许通过WebAssembly直接在网页中使用Python代码的库。 EmscriptenSkulpt似乎是其中更成熟的实现之一。以下是一些有关在浏览器中运行Python的选项的有趣讨论的链接:How to choose a package for Python in the browserCompiling Python to WebAssemblydiscussion on ycombinator of compiling to WebAssemblyanother discussion in the data science context

如果您想重复使用Python代码,而不在乎完全控制托管环境,则最好的选择可能是使用现成的Python内置浏览器托管环境,例如{{ 3}}(基于Skulpt)。这样,您就可以编写Python脚本,并托管给您,以便任何人都可以在Web浏览器中运行它们。例如,这是trinket.io的实现(点击铅笔图标进行编辑)。还有一个your script