Ich kann nichts lernen, wenn ich es nicht weiter mache, also werde ich Django verwenden, um das RSS zu erhalten, das ich zuvor gemacht habe. Es scheint, dass Sie es mit Bezug auf frühere Artikel in die Datenbank werfen, nur den Text abrufen und an Markov verketten können und so weiter.
Ich habe es wie gewohnt als einfache Konfiguration versucht.
myapp/views.py
import feedparser
import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
from django.http import (HttpResponse, HttpResponseRedirect,)
from django.shortcuts import (render, redirect,)
from django.core.mail import (send_mail, BadHeaderError,)
def index(request):
url = 'http://news.yahoo.co.jp/pickup/local/rss.xml'
feeder = feedparser.parse(url)
for entry in feeder['entries']:
title = entry['title']
link = entry['link']
context = {
'title':title,
'link':link,
}
return render(request,'index.html',context)
Es ist eine einfache Vorlage, die nur ein Element anzeigt.
templates/index.html
{% extends "base.html" %}
{% block body %}
<div class="container">
<div class="row">
<div class="col-md-6">
{{ title }}
{{ link }}
</div>
</div>
</div>
{% endblock %}
Ich habe das interessante Gefühl, dass es interessant sein wird, es in die Datenbank aufzunehmen und hart zu verarbeiten. Nun, hier ist die Produktion. Speichern wir es in der Datenbank.
Holen Sie sich das Erwachsenen-Video RSS von DMM und speichern Sie es in der Datenbank.
views.py
import feedparser
import sys, codecs
sys.stdout = codecs.getwriter('utf-8')(sys.stdout)
from django.http import HttpResponse
from django.shortcuts import (render, redirect,)
from myapp.models import Feedmodel
def index(request):
url = 'http://www.dmm.co.jp/digital/videoa/-/list/rss/=/sort=date/'
feeder = feedparser.parse(url)
for entry in feeder['entries']:
data = Feedmodel()
data.title_name = entry['title']
data.url_link = entry['link']
data.package_img = entry['package']#Paket-Miniaturansicht abrufen
data.save()
all_data = Feedmodel.objects.order_by('-id')
context = {
'all_data': all_data,
}
return render(request,'index.html',context)
models.py
from django.db import models
class Feedmodel(models.Model):
title_name = models.CharField(max_length=140)
url_link = models.CharField(max_length=140)
package_img = models.TextField(null=True)
Ob es dort ist oder nicht, ist subtil, aber es ist für den Verwaltungsbildschirm.
admin.py
from django.contrib import admin
from myapp.models import Feedmodel
class FeedmodelAdmin(admin.ModelAdmin):
list_display = ('id','title_name','url_link','package_img')
admin.site.register(Feedmodel,FeedmodelAdmin)
index.html
{% extends "base.html" %}
{% block body %}
<div class="container">
<div class="row">
<div class="col-md-12">
{% for i in all_data %}
<div class="col-md-4 clearfix">
<p><img src="{{ i.package_img }}"><a href="{{ i.url_link }}">{{ i.title_name }}</a></p>
</div>
{% endfor %}
</div>
</div>
</div>
{% endblock %}
Es ist unklar, wofür es verwendet werden kann und ob es praktisch ist.
Recommended Posts