Obtenez des données Twitter il y a longtemps et la chaîne Markov. Je l'ai fait, mais j'ai essayé de l'intégrer dans Django. Tout d'abord, le résultat est un gros problème. Je laisserai l'état d'avancement des travaux pour le moment.
Cliquez ici pour les articles précédents Accumuler des informations par recherche sur Twitter, analyser la morphologie, générer des phrases avec une chaîne de Markov et tweeter.
Puisque .has_key ne peut pas être utilisé dans Python3,
if markov.has_key(w):
Est le processus
if w in markov:
C'est une image à réécrire.
$ brew install mecab
$ brew install mecab-ipadic
$ pip install mecab-python3
Je l'ai installé de cette manière.
Comme d'habitude, je vais aller chercher le RSS de la vidéo interdite DMM18.
Lecteur RSS simple réalisé avec Django Nous faisons presque la même chose que ci-dessus, veuillez donc vous y référer.
Obtenez et enregistrez le titre et la description.
views.py
import feedparser
import MeCab
import random
import re
import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
from django.http import HttpResponse
from django.shortcuts import (render, redirect,)
def index(request):
url = 'http://www.dmm.co.jp/digital/videoa/-/list/rss/=/sort=date/'
feeder = feedparser.parse(url)
for entry in feeder['entries']:
lists = entry['description'] + entry['title']
f = open('text.txt', 'w')
f.write(lists)
f.flush()
f.close()
f = open('text.txt', 'r')
mecab_read = f.read()
f.close()
tagger = MeCab.Tagger('-Owakati')
wordlist = tagger.parse(mecab_read)
wordlist = wordlist.rstrip(' \n').split(' ')
f = open('l.txt', 'w')
f.write(str(wordlist))
f.close()
markov = {}
w = ''
for x in wordlist:
if w:
if w in markov:
new_list = markov[w]
else:
new_list =[]
new_list.append(x)
markov[w] = new_list
w = x
choice_words = wordlist[0]
sentence = ''
count = 0
while count < 20:
choice_words = random.choice(wordlist)
sentence += choice_words
count += 1
sentence = sentence.split(' ', 1)[0]
p = re.compile('[!-/:-@[-`{-~]')
sus = p.sub('', sentence)
context = {
'wordlist': wordlist,
'sus': sus,
}
return render(request,'index.html',context)
index.html
{% extends "base.html" %}
{% block body %}
<div class="container">
<div class="row">
<div class="col-md-12">
<p class="1">{{ wordlist }}</p>
<p class="2">{{ sus }}</p>
</div>
</div>
</div>
{% endblock %}
J'ai fini avec un putain de résultat. Il y a beaucoup d'argent dans la description, vous devez donc la supprimer ...
J'ai aussi appris que si vous ne coupez pas le nom de l'actrice, vous ne le comprendrez pas.
Je vais me consacrer.
Je voulais faire un titre AV avec la chaîne Markov.
Recommended Posts