[PYTHON] Lecteur RSS simple réalisé avec Django

Essayez de faire un simple lecteur RSS

Je ne peux rien apprendre à moins de continuer à le faire, donc je vais utiliser Django pour obtenir le RSS que j'ai fait auparavant. Il semble que vous puissiez le jeter dans la base de données en référence aux articles précédents, obtenir uniquement le texte et le chaîner à Markov, etc.

Je l'ai essayé comme une configuration simple comme d'habitude.

Écrire des vues

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)

Écrire index.html

C'est un modèle simple qui n'affiche qu'un seul élément.

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 %}

J'ai le sentiment intéressant qu'il sera intéressant de le mettre dans la base de données et de le traiter dur. Eh bien, voici la production. Sauvegardons-le dans la base de données.

Exemple de personnalisation

Obtenez le RSS vidéo adulte de DMM et enregistrez-le dans la base de données.

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']#Obtenir la vignette du package
        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)

Que ce soit là ou non, c'est subtil, mais c'est pour l'écran de gestion.

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 %}

On ne sait pas à quoi il peut servir et s’il est pratique.

Recommended Posts

Lecteur RSS simple réalisé avec Django
J'ai fait un simple lecteur RSS ~ Edition C ~
J'ai fait un simple blackjack avec Python
J'ai fait une application WEB avec Django
J'ai fait un simple portefeuille de Bitcoin avec pycoin
Liste de tâches simple créée avec Python + Django
Créer une page d'accueil avec django
Déployer l'application Django créée avec PTVS sur Azure
J'ai fait un jeu de frappe simple avec tkinter de Python
Un simple lecteur de musique interactif fait avec Chuck et OpenPose
J'ai créé une application de livre simple avec python + Flask ~ Introduction ~
(Pour les débutants) Essayez de créer une API Web simple avec Django
Déployer l'application Django avec Docker
J'ai fait une loterie avec Python.
Django Tips-Créez un site de classement avec Django-
Application de publication sur Twitter réalisée avec Django
Créer une application Web avec Django
Créer un filtre avec un modèle django
J'ai créé un démon avec Python
Créer un téléchargeur de fichiers avec Django
J'ai fait un circuit simple avec Python (AND, OR, NOR, etc.)
Créez un simple OMR (lecteur de feuille de marque) avec Python et OpenCV
Les utilisateurs de Rails essaient de créer un moteur de blog simple avec Django
[Python] J'ai créé une visionneuse d'images avec une fonction de tri simple.
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
Créer un fichier power simple avec Python
Votre propre client Twitter réalisé avec Django
Client API Slack simple réalisé avec Python
J'ai fait un compteur de caractères avec Python
Créer un écran de connexion dans Django all auth
Faisons un langage simple avec PLY 1
Créez une application Web simple avec Flask
Remarques sur l'activation de PostgreSQL avec Django
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu de vie avec Numpy
J'ai fait un générateur Hanko avec GAN
J'ai fait un jeu rogue-like avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
[Django] a créé un champ pour saisir des dates avec des nombres à 4 chiffres
J'ai fait un robot de remplacement de tampon avec une ligne
Jusqu'à ce que vous définissiez ce que vous avez fait avec Django avec Jenkins
Configurer un serveur HTTPS simple avec asyncio
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
Mémo qui a fait un graphique pour animer avec intrigue
Comment développer une application de panier avec Django
Créez un simple générateur d'images par points avec Flask
Démarrez Django dans un environnement virtuel à l'aide de Pipenv
Internationalisation avec Django
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Procédure de création d'un LineBot réalisé avec Python
Django super introduction par les débutants Python! Partie 5 J'ai créé une application de journal super simple avec une vue générale basée sur la classe
Démarrez un serveur Web Python simple avec Docker
[Python] Créer un environnement de développement Django avec Docker
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
Créez un environnement Django avec Vagrant en 5 minutes
Créez un tableau de bord pour les appareils réseau avec Django!