Этот проект - обобщение двух сериалов вышедших на моем канале
Здесь же готовый (условно, полуфабрикат) рабочий проект, который может:
- Парсить товарные карточки магазинов.
- Вытаскивать статичный контент (картинки, цену, заголовки, описания).
- Генерить из статичного контента видео ролики с анимированными картинками,
наложенными текстами заголовков и бесплатной музыкой.
- В автоматическом режиме выкладывать видео на YouTube через YouTube API.- Добавлять к видео на YouTube заголовки, теги, описания со ссылками на товар (корзину, рефку и т.п.)- Добавлять топовый закрепленный коммент к роликуYouTube запретил публикацю видео в паблик через API для приложений без аппрува в июле 2020 года. Т.к. для такого приложения шансы пройти модерацию представляются маловероятными, то полного автомата, к сож. уже не получится (а раньше было можно).
Поэтому задача проекта теперь заканчивается на этапе генерации видео и описания к видео.
- Python, парсинг сайта интернет-магазина | Youtube Shop ч. 1
- Tkinter - графический интерфейс для Python | Youtube Shop ч. 2
Поднять venv. Создать приложение в Google Cloud Platform. Получить API Key и OAuth Client ID. Запросить и сохранить токены под тот канал куда будет загружаться видео.
В принципе весь проект можно упаковать в PyInstaller или в Докер и сделать законченное решение, но здесь такой задачи не стояло.
😊 Если что-то не получается и в моих видосиках вдруг нет ответа, то пишите в комменты к любому моему видео. Стараюсь отвечать всем, но ничего не обещаю ;)
💰 Нужно что-то доделать/переделать под конкретное ТЗ ? Все возможно, особенно если задача интересная и/или бюджет достойный. Также пишите в тг/ют.
Хочешь сказать спасибо - подпишись, лайкни, напиши коммент.
Для парсинга использую простую связку requests + lxml xpath
- https://docs.python-requests.org/en/master/user/quickstart/#make-a-request
- https://lxml.de/lxmlhtml.html
- https://www.guru99.com/xpath-selenium.html
!!! C lxml могут быть сложности с установкой Для Win 10 Python 3.8 pip install lxml-4.6.3-cp38-cp38-win_amd64.whl
Для работы с картинками использую Pillow.
Многие, крупные особенно, магазины защищаются от такого парсинга в лоб (блок по куке, блок по ip). С магазинами где фронт на js фреймворках (angular/react/vue) тоже не пройдет
Отдельные ветки под разные видео.
В этой части сделаю GUI под Widows для приложения. Мне нужен интерфейс в котором:
-
поле для ссылки на лот кот. буду парсить,
-
поле для партнерской ссылки, может быть пустым, тогда буду ссылаться на оригинальную ссылку,
-
поле для заголовка (оно же будет выводиться в генереном видео),
-
выбор шаблона для генерации видео,
-
кнопка для запуска генерации видео и поле на вывода ссылки на созданное видео
-
выбор шаблона для генерации описаний (тегов, описания, первого коммента, обложки),
-
кнопка для генерации описаний и обложки
-
поле для ввода ссылки (или id) на загруженное на YouTube видео,
-
кнопка для обновления описания к видео
Я использую wkhtmltoimage - это рендер html/css на базе Qt Webkit. Он умеет рендерить готовую html в pdf или jpeg. Соотв. процесс подготовки картинки состоит из двух этапов:
- создание макета картинки из html и css
- рендер макета в картинку
Вот страница загрузок https://wkhtmltopdf.org/downloads.html . Под винду я качаю архив и из него мне нужен только wkhtmltoimage.exe. Для работы с wkhtmltoimage для Python есть разные обертки в pip, но я их не использую, от wkhtmltoimage.exe нужна только конвертация html файла и ничего больше - зачем здесь обертки.
Доки по коммандной строке https://wkhtmltopdf.org/usage/wkhtmltopdf.txt