Skip to content

Latest commit

 

History

History
56 lines (40 loc) · 1.77 KB

20190116.md

File metadata and controls

56 lines (40 loc) · 1.77 KB

야근하고 11시에 집에서...

이번에 ms가 github를 인수하고 private 계정을 무료로 제공한다고 해서 private repo를 만들어봤다. 개발소스를 public으로 올려도 되는지 고민 많이 했는데 결국 private으로 올렸다.

그럼 오늘은 어제 했던 것에 이어

django로 크롤링한 데이터 저장하기


- python dict형 변수 for loop 할 때 전자가 아닌 후자로 해야한다.

for i in dict:
  print(i)

이렇게 dict.items()로 for loop 수행해야함

for key, value in dict.items():
  print(key, value)

이런 기초적인것에 시간을 뺏기다니... 위에처럼 for loop 돌려서 혼자 디버깅하고 난리쳤네...

데이터 저장

크롤링함수는 파싱한 데이터를 dict 자료형으로 반환한다.

반환된 값으로 django data model의 object를 생성한다.

크롤링하는 함수가 있는 곳에서 object를 생성해도 되지만

from blog.models import Blog
b = Blog(name='Beatles Blog', tagline='All the latest Beatles news.')
b.save()

다음과 같이 object를 생성하는 create 함수를 model class에 생성하여 데이터베이스 관련 작업은 models.py에서 하도록 구상했다.

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)

    @classmethod
    def create(cls, title):
        book = cls(title=title)
        # do something with the book
        return book

book = Book.create("Pride and Prejudice")

django-docs: Making queries

django-docs: Model instance reference

create 함수 만들기.