Script that fetches comments from a TikTok post
- Проставить значения переменных окружения EMAIL, PASSWORD и COMMENTS_LIMIT. EMAIL и PASSWORD - данные для входа в почту gmail (комментарии нельзя смотреть без входа в аккаунт). COMMENTS_LIMIT - ограничение на количество комментариев (если пост очень популярный, все комментарии могут грузиться долго).
- Запускать лучше на Linux или MacOS, на Windows может сходу не работать, надо будет немного подправить скрипт.
Ссылка на пост.
CSV файл со столбцами: id, ник, ссылка на профиль, текст комментария. Дополнительно можно выводить, например, количество лайков комментария и ответы на него.
Скорость скачивания можно оценить так: 100 комментов - моментально. 2000 комментов - минута. 5к комментов - 10 минут.
Скорость упирается не в язык программирования, технологии и подход к парсингу, а в ограничения веб версии тиктока. Тикток напрямую борется с выгрузкой комментариев, поэтому:
- они подгружаются динамически, по 20 штук
- следующие можно подгрузить только когда уже погрузил предыдущие. Поэтому нельзя распараллелить выгрузку в пределах одного поста.
- После скачивания 1000 комментариев тикток даёт следующие 20 примерно с задержкой в 1 секунду. Дальше задержка становится 5 секунд и тд
Таким образом, ускорить подгрузку комментариев к посту нельзя, потому что все упирается в то, насколько быстро сам тикток отдает новые комментарии. А подгружать комментарии параллельно от лица разных пользователей нельзя, потому что комментарии даются только последовательно.
Python, selenium.
- логинимся через gmail в тикток
- открываем пост
- открываем комментарии
- грузим комментарии, проматываясь вниз
- Пишем все загруженные комментарии в csv файл