Как анализировать данные с сайта одним нажатием кнопки из / admin. Django - PullRequest
0 голосов
/ 15 марта 2020

Я написал простой парсер, который удаляет книги и авторов с веб-сайта и загружает их в базу данных. Но у меня есть несколько вопросов:

-Где разместить код для этого (я думаю, в models.py)?

-Как написать лучше (я использовал класс, может быть, нет не лучший способ)?

-Как вызвать эту функцию из gui, одним нажатием кнопки из / admin?

Вот оно:

class Parsing:

    def __init__(self, page):
        self.page = page
        self.html_doc = urlopen(f'https://www.litmir.me/bs?rs=5%7C1%7C0&o=20&p={self.page}').read()
        self.soup = BeautifulSoup(self.html_doc)
        self.cards = self.soup.find_all('div', itemtype='http://schema.org/Book')

    def get_author(self, card):
        return card.find('span', itemprop='author').find_all('a')[0].get_text()

    def load_authors(self):
        for card in self.cards:
            Author.objects.create(f'{self.get_author(card)}') 
...