WalkingBo의 걷는 정보

RSS 피드 받기 본문

IT/파이썬 및 장고

RSS 피드 받기

walkingbo 2020. 1. 31. 00:08

1.  장고 환경설정 및 FEEDPARSER 설치

 

1)가상환경 만들기

 

 python -m venv mydjango

 

2)가상환경 실행

 

 mydjango\Scripts\activate

경로 앞에 (mysite) 유무 확인 -> 없다면 가상환경 실행이 안된 것입니다.

 

3)장고, feedparser 설치

 

 pip install django

 pip install feedparser

 

4)프로젝트와 앱 생성

 

 django-admin startproject feedreader

 python manage.py startapp rss

 

5)앱 등록 

 

 INSTALLED_APPS = [

  'django.contrib.admin',

  'django.contrib.auth',

  'django.contrib.contenttypes',

  'django.contrib.sessions',

  'django.contrib.messages',

  'django.contrib.staticfiles',

  'rss',

 ]

 

 

2. html 페이지 생성

 

1)rss/templates/rss 폴더 생성

2)rss/base.html과 rss/feed.html 파일 생성

 

 - base.html

 

<!DOCTYPE html>

 

<head>

<title>Django RSS Feed Reader</title>

</head>

 

<body>

{% block body %}{% endblock %}

</body>

 

</html>

 

 - feed.html

 

{% extends 'rss/base.html' %}

 

{% block body %}

<br />

 

<input type="text" class="form-control" placeholder="paste link"

name=“url”>

</div>

<button type="submit" class="btn btn-primary mb-2">Search</button>

</form>

 

{% if feed %}

<h2>{{ feed.feed.title }}</h2>

 

{% if feed.entries %}

{% for entry in feed.entries %}

Feed

</div>

<h5>Headline: {{ entry.title }}</h5>

<p>Description: {{ entry.description }}</p>

<a href="{{ entry.link }}" class="btn btn-primary">Visit Link</a>

</div>

</div><p>{{ entry.published }}</p>

{% endfor %}

{% endif %}

{% else %}

<br />

<p>Enter your favorite RSS feed above.</p>

{% endif %}

 

{{ feed2 }}

 

{% endblock %}

 

 

3. views.py, urls.py 작성

 

 - views.py(들여쓰기 오류 주의)

 

from django.shortcuts import render

from django.http import HttpResponse

import feedparser

 

def feed(request):

  if request.GET.get("url"):

    url = request.GET["url"] #URL 주소가져오기

    feed = feedparser.parse(url) #피드 파싱하기

  else:

  feed = None

  return render(request, 'rss/feed.html', {'feed' : feed,})

 

- feedreader/urls.py

 

 from django.contrib import admin

 from django.urls import path, include

 

 urlpatterns = [

   path('admin/', admin.site.urls),

   path('', include('rss.urls')),

]

 

- rss/urls.py

 

파일 생성 후 작성 

from django.urls import path, include

from . import views

 

 urlpatterns= [

 path('', views.feed, name='feed')

 ]

 

 

4.서버 실행

 

 python manage.py runserver

 

 

*연습 feed 사이트주소 

http://feeds.bbci.co.uk/news/rss.xml

'IT > 파이썬 및 장고' 카테고리의 다른 글

파이썬 크롤링 - 뷰티풀숩 기초  (0) 2020.05.20
파이썬 크롤링(웹)-기초  (1) 2020.05.19
파이썬 - 변수  (0) 2020.05.17
파이썬 문자열 추출  (0) 2020.05.15
파이썬 문자열과 출력함수 - print( )  (0) 2020.05.12
Comments