Django 크롤링 데이터 모델에 저장하는 방법이 궁긍합니다!

조회수 2076회

/* parse.py*/

import os

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "Refrigerator_Sever.settings")

import django
django.setup()

import requests

from bs4 import BeautifulSoup

from urllib.parse import urljoin

from Refrigerator.models import Recipe


def parse_recipe():

    list_url = "http://board.miznet.daum.net/gaia/do/cook/recipe/mizr/"
    html = requests.get(list_url).text
    soup = BeautifulSoup(html, 'html.parser')

    menu_list = []

    for tag in soup.select("#page_body > div.body_center > form > ul > li"):
        a_tag = tag.select('div p a')[0]
        name = a_tag.text
        detail_url = urljoin(list_url, a_tag['href'])
        img_url = tag.select('a img')[0]['src'].strip()
        menu_list.append([name, detail_url, img_url])


return  menu_list

if __name__ == '__main__':
     recipe_data_dict = parse_recipe()
     for (t, l, i) in recipe_data_dict.items():
         Recipe(image=i, link=l, title=t).save(commit=False)

/* models.py */

class Recipe(models.Model):
    image = models.URLField()
    link = models.URLField()
    title = models.CharField(max_length=500)

    def __str__(self):
        return self.title

안녕하세요 ! 크롤한 데이터를 Djngo splite 즉 model에 저장을 하려고하는데요

코드에 문제는 없어보이는데 이 부분에서 Recipe 모델에 크롤링 데이터가 저장이 되질 않네요 ㅠㅠ

  if __name__ == '__main__':
         recipe_data_dict = parse_recipe()
         for (t, l, i) in recipe_data_dict.items():
             Recipe(image=i, link=l, title=t).save(commit=False)

혹시 방법을 아시는 분이 있다면 답변 기다리겠습니다. 감사합니다!

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)