Bis jetzt habe ich ziemlich viel Satzgenerierung durch morphologische Analyse und Markov-Kette gemacht, Ich habe es mit einer Flasche gemacht.
views.html
<form method="GET" action="/show">
<p class="in">Worüber sprichst du heute?</p>
<p><input type="text" name="send_word"></input></p>
<p><input type="submit" value="Senden"></p>
</form>
Fügen Sie der HTML-Datei, die als Hauptbildschirm aufgerufen werden soll, die Formularübermittlung hinzu.
style.css
input[type=submit]{
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
border:#a9a9a9 1px solid;
-moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
width:100%;
height:40px;
padding:0 3px;
cursor:pointer;
color:#333;
font-weight:bold;
background:#f5f5f5;
text-shadow:1px 1px 0px #fff;
}
input[type=text]{
border-radius: 5px;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-o-border-radius: 5px;
-ms-border-radius: 5px;
border:#a9a9a9 1px solid;
-moz-box-shadow: inset 0 0 5px rgba(0,0,0,0.2),0 0 2px rgba(0,0,0,0.3);
-webkit-box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.2),0 0 2px rgba(0,0,0,0.3);
width:100%;
height:30px;
padding:0 3px;
}
input[type=text]:focus {
border:solid 1px #20b2aa;
}
input[type=text], select {
outline: none;
}
Beim Anpassen von Schaltflächen und Textformularen mit CSS.
show.html
<h4 class="center">Stichwort{{send_word}}Markov!</h4>
<p>{{twits}}</p>
Der HTML-Code für die Anzeige des Ergebnisses sieht folgendermaßen aus, und die in der Flasche definierten Variablen werden eingefügt.
route.py
@route("/show", method="GET")
def send_word():
send_word = request.query.send_word
send_word.encode("utf-8")
if send_word:
os.remove("static/tweet.txt")
Erhalten Sie per GET aus dem Formular mit Flasche. Wie üblich speichere ich die Suche nach dem Schlüsselwort einmal im Text, möchte es aber nicht erhöhen. Löschen Sie es daher jedes Mal, wenn ich es ausführe.
@error(500)
def error500(error):
return template("500")
Wenn das Suchwort eine Nische ist oder das API-Limit angezeigt wird, tritt ein Fehler von 500 auf, sodass die Flasche zum Entkommen verwendet wird. Ich wünschte, ich könnte die Verarbeitung nach Statuscode mit Versuch außer trennen.
Der Rest ist der gleiche wie der, den ich zuvor geschrieben habe. Das fertige Produkt wurde durch Dropbox-Bereitstellung ohne Verwendung von git nach Heroku geworfen.
http://markov-twit.herokuapp.com/
Ich habe so etwas gemacht.
Recommended Posts