[PYTHON] Einfacher RSS-Reader mit Django

Versuchen Sie, einen einfachen RSS-Reader zu erstellen

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.

Ansichten schreiben

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)

Schreiben Sie index.html

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.

Anpassungsbeispiel

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

Einfacher RSS-Reader mit Django
Ich habe einen einfachen RSS-Reader ~ C Edition ~ gemacht
Ich habe mit Python einen einfachen Blackjack gemacht
Ich habe eine WEB-Bewerbung bei Django gemacht
Ich habe eine einfache Brieftasche aus Bitcoin mit Pycoin gemacht
Einfache Aufgabenliste, erstellt mit Python + Django
Erstellen Sie eine Homepage mit Django
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Ich habe ein einfaches Tippspiel mit tkinter of Python gemacht
Ein einfacher interaktiver Musikplayer mit Chuck und OpenPose
Ich habe eine einfache Buch-App mit Python + Flask ~ Introduction ~ erstellt
(Für Anfänger) Versuchen Sie, mit Django eine einfache Web-API zu erstellen
Stellen Sie die Django-Anwendung mit Docker bereit
Ich habe mit Python eine Lotterie gemacht.
Django-Tipps - Erstellen Sie eine Ranking-Site mit Django-
Twitter-Posting-Anwendung mit Django gemacht
Erstellen Sie eine Webanwendung mit Django
Machen Sie einen Filter mit einer Django-Vorlage
Ich habe mit Python einen Daemon erstellt
Erstellen Sie mit Django einen Datei-Uploader
Ich habe eine einfache Schaltung mit Python gemacht (AND, OR, NOR, etc.)
Erstellen Sie mit Python und OpenCV ein einfaches OMR (Mark Sheet Reader)
Rails-Benutzer versuchen, mit Django eine einfache Blog-Engine zu erstellen
[Python] Ich habe einen Bildbetrachter mit einer einfachen Sortierfunktion erstellt.
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Erstellen einer einfachen Power-Datei mit Python
Ihr eigener Twitter-Client mit Django
Einfacher Slack API-Client mit Python
Ich habe mit Python einen Zeichenzähler erstellt
Erstellen eines Anmeldebildschirms in Django all auth
Lassen Sie uns mit PLY 1 eine einfache Sprache erstellen
Erstellen Sie eine einfache Web-App mit Flasche
Hinweise zum Aktivieren von PostgreSQL mit Django
Ich habe mit Python eine Hex-Map erstellt
Ich habe ein Lebensspiel mit Numpy gemacht
Ich habe einen Hanko-Generator mit GAN gemacht
Ich habe mit Python ein schurkenhaftes Spiel gemacht
Ich habe mit Python eine Einstellungsdatei erstellt
Ich habe mit Python einen Neuronensimulator erstellt
[Django] Erstellt ein Feld zur Eingabe von Daten mit 4-stelligen Zahlen
Ich habe einen Stempelersatzbot mit Linie gemacht
Bis du weißt, was du mit Django mit Jenkins gemacht hast
Richten Sie einen einfachen HTTPS-Server mit Asyncio ein
Ich habe mit Python eine Bot-Wettervorhersage gemacht.
Ich habe eine GUI-App mit Python + PyQt5 erstellt
Memo, mit dem ein Diagramm zum Plotten animiert wurde
So entwickeln Sie eine Cart-App mit Django
Erstellen Sie mit Flask einen einfachen Punktbildgenerator
Starten Sie Django in einer virtuellen Umgebung mit Pipenv
Internationalisierung mit Django
Ich habe versucht, mit Python einen Twitter-Blocker für faule Mädchen zu machen
Vorgehensweise zum Erstellen eines mit Python erstellten LineBot
Django super Einführung von Python-Anfängern! Teil 5 Ich habe eine supereinfache Tagebuchanwendung mit einer klassenbasierten Allzweckansicht erstellt
Starten Sie mit Docker einen einfachen Python-Webserver
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
[Python] Ich habe mit Tkinter einen Youtube Downloader erstellt.
Erstellen Sie mit Vagrant in 5 Minuten eine Django-Umgebung
Erstellen Sie mit Django ein Dashboard für Netzwerkgeräte!