Я намагаюся створити громадський API, що стоїть перед нимзбирає дані через скрипінг HTML (вміст сторінки є тим, що важливо, а не самі сторінки). Я вибрав використовувати Django-Rest-Framework як мій сервер. Моє запитання: Як саме організувати структуру цього проекту, щоб Django ORM зберігав зібраний вміст, а потім його можна було отримати за допомогою API Django-Rest-Framework?
Я заглянув у Scrapy, але це здається меншиморієнтовані на тестування вмісту та більше орієнтовані на веб-сканування. Крім того, він розгортається у своєму власному проекті, що створює конфлікти з завантажувальною системою Django.
Чи краща ставка, що я просто запускаю cronjobs? Це здається нелегким.
Відповіді:
0 для відповіді № 1Використовуйте Селера створювати асинхронні та періодичні завдання.
Якщо вам потрібно щось легке для вискоблювання, ви можете використовувати BeautifulSoup. Ось підручник.
Загалом, це те, що потрібно зробити:
- Почніть звичайний проект Django.
- Додати Селеру до нього.
- Напишіть деякий код скребування.
- Зателефонуйте користувальницькому коду скребу від завдань селери. Збережіть зібраний вміст до бази даних.
- Використовуйте Django-Rest-Framework для створення API, який буде обслуговувати вміст з бази даних.