Я хочу сохранить данные, полученные с использованием селена, в базе данных, предоставленной django.
Но я не могу. Пожалуйста, скажите мне, как решить.
Код ниже - мой код.
Мой проект называется "ebookranking", а имя приложения - "index"
#kyobo.py from bs4 import BeautifulSoup from selenium import webdriver import os os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'ebookranking.settings') import django django.setup() from index.models import Book def kyobo(): driver = webdriver.Chrome('C:\\Users\\insutance\\PycharmProjects\\chromedriver') driver.get('http://m.kyobobook.co.kr/digital/ebook/bestList.ink?cate_code=1&class_code=&barcode=&barcodes=&cate_gubun=&orderClick=&listCateGubun=1&listSortType=1&listSortType2=0&listSortType3=0&listSortType4=0&need_login=N&type=&returnUrl=%2Fdigital%2Febook%2FbestList.ink&reviewLimit=0&refererUrl=&barcodes_temp=&gubun=&ser_product_yn=&groupSort=1&groupSort2=0&groupSort3=0&groupSort4=0') driver.implicitly_wait(2) html = driver.page_source soup = BeautifulSoup(html, 'html.parser') titles = [] for n in range(1,31): title = soup.select_one('#list > li:nth-child('+ str(n) +') > div.detail > p.pubTitle > a') titles.append(title.text) driver.quit() return titles if __name__=='__main__': datas = kyobo() for t in datas: Book(title=t).save()
Код ниже - код моей модели.
#models.py from django.db import models # Create your models here. class Book(models.Model): title = models.CharField(max_length = 200) price = models.CharField(max_length = 10) def __str__(self): return self.title
Вы должны позвонить django.setup() согласно документации
django.setup()
После того, как вы установили DJANGO_SETTINGS_MODULE или вызвали configure (), вам нужно будет позвонить django .setup (), чтобы загрузить ваши настройки и заполнить реестр приложений Django. Например: import django from django.conf import settings from myapp import myapp_defaults settings.configure(default_settings=myapp_defaults, DEBUG=True) django.setup() # Now this script or any imported module can use any part of Django it needs. from myapp import models
После того, как вы установили DJANGO_SETTINGS_MODULE или вызвали configure (), вам нужно будет позвонить django .setup (), чтобы загрузить ваши настройки и заполнить реестр приложений Django. Например:
import django from django.conf import settings from myapp import myapp_defaults settings.configure(default_settings=myapp_defaults, DEBUG=True) django.setup() # Now this script or any imported module can use any part of Django it needs. from myapp import models