jsonscraper
Ринки
До журналу

Як перевірити рекламні розкриття в TikTok за публічними відео

Скрипт Python збирає відео за пошуковими запитами про бренд, позначає явні рекламні формулювання та створює список для ручної перевірки

Редакційна політика Повідомити про помилку

Щоб відібрати публічні відео TikTok зі згадками бренду й явними рекламними формулюваннями, зберіть результати за кількома пошуковими запитами, витягніть описи та позначте слова-маркери. Результат — CSV із посиланнями й доступними показниками, тобто черга для перевірки людиною, а не автоматичний висновок про дотримання правил.

Такий процес стане в пригоді агенції, що звіряє кампанію з брифом, або внутрішній команді, яка веде список публічних згадок. Він допомагає впорядкувати результати пошуку та зберігає ознаки, за якими аналітик вирішує, який ролик відкрити й переглянути.

Що саме шукати у відео?

Для перевірки реклами важливі зв’язок автора з брендом і те, як його розкрито поруч із рекомендацією. Посібник FTC для інфлюенсерів пояснює, що істотний зв’язок може бути фінансовим, робочим, особистим або сімейним, а розкриття має бути помітним і зрозумілим. Для відеорекомендацій FTC зазначає, що розкриття слід розмістити в самому відео, а не лише в описі. Тому опис корисний для сортування, але сам по собі не показує, що глядач побачив у кадрі або почув в аудіо.

Завдання цього сценарію вужче: знайти серед отриманих результатів пошуку відео, описи яких містять назви бренду й можливі маркери на кшталт «реклама», «спонсор» або «партнерство». Словник потрібно налаштувати відповідно до мови й термінології кампанії. Якщо маркер не трапився в описі, відкрийте ролик і перевірте його вміст: текстовий збіг не встановлює, чи є розкриття в самому відео.

Як перетворити результати пошуку на чергу перевірки?

Складіть короткий список запитів: назва бренду, кампанії та поширений варіант написання продукту. Виконуйте запити окремо й зберігайте їхні формулювання поруч із результатами. Так команда зможе побачити, за яким запитом знайдено ролик, і за потреби повторити збір.

Стаття: Як перевірити рекламні розкриття в TikTok за публічними відео
Короткий опис: Маркетинговій команді часто потрібно відібрати публічні відео TikTok із згадками бренду й можливими рекламними розкриттями. Показуємо, як зібрати отримані результати API, витягти описи й доступні метрики та позначити явні слова на кшталт «реклама» і «партнерство» для подальшої перевірки.
Роль зображення: ілюстрація до матеріалу 2 — інший конкретний аспект
Розділ: Як перетворити результати пошуку на чергу перев
Схема показує шлях від результатів пошуку до черги в CSV і ручної перевірки розкриття безпосередньо у відео.© jsonscraper · ілюстрацію створено за допомогою ШІ
Стаття: Як перевірити рекламні розкриття в TikTok за публічними відео
Короткий опис: Маркетинговій команді часто потрібно відібрати публічні відео TikTok із згадками бренду й можливими рекламними розкриттями. Показуємо, як зібрати отримані результати API, витягти описи й доступні метрики та позначити явні слова на кшталт «реклама» і «партнерство» для подальшої перевірки.
Роль зображення: обкладинка — основна ідея
Розділ: Як перетворити результати пошуку на чергу перевірки?
Візуальний об’єкт: російська інф
Схема показує шлях від результатів пошуку до черги в CSV і ручної перевірки розкриття безпосередньо у відео.© jsonscraper · створено за допомогою ШІ

Для збору підійде TikTok Scraper API від jsonscraper. Документований маршрут GET /searchVideo розташований за адресою https://tiktok.evelode.com і приймає параметри keyword, count, date_posted, sort_by, region і cursor. У спостереженій відповіді дані TikTok містили ролики в search_item_list[].aweme_info; aweme_list міг бути порожнім. Наведений нижче парсер перевіряє обидва розташування.

Ключ передається в параметрі license_key. Зберігайте його в змінній середовища, а не у скрипті чи репозиторії. Документація маршрутів TikTok містить назви параметрів пошуку; для наступної сторінки використовуйте повернений cursor. Зберігайте кількість оброблених об’єктів і сам пошуковий запит: пагінація дає змогу продовжувати перегляд результатів, але сама по собі не підтверджує повноту набору.

Мінімальний приклад на Python

Скрипт виконує по одному запиту для кожної фрази, збирає обидві задокументовані форми результатів, видаляє дублікати за ID відео, позначає слова в описі й записує CSV. Установіть requests командою python -m pip install requests, задайте JSONSCRAPER_TIKTOK_LICENSE_KEY в середовищі й запустіть файл. Приклад сумісний із Python 3.8 і новішими версіями.

import csv
import os
import sys
import requests

BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
if not KEY:
    raise SystemExit("Set JSONSCRAPER_TIKTOK_LICENSE_KEY first")

QUERIES = ["Example Brand", "Example Product", "Example Campaign"]
MARKERS = ("#реклама", "реклама", "спонсор", "партнерство", "партнёрство", "#ad", "sponsored")


def videos_from(payload):
    data = payload.get("tiktok") or {}
    videos = data.get("aweme_list") or []
    if not videos:
        videos = [
            item.get("aweme_info")
            for item in (data.get("search_item_list") or [])
            if isinstance(item, dict) and isinstance(item.get("aweme_info"), dict)
        ]
    return [video for video in videos if isinstance(video, dict)]


rows = {}
for query in QUERIES:
    response = requests.get(
        BASE_URL,
        params={"keyword": query, "count": 20, "date_posted": "this-month", "license_key": KEY},
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("status") != "ok":
        print("Unexpected API status for query:", query, file=sys.stderr)
        continue

    for video in videos_from(payload):
        video_id = video.get("aweme_id")
        if not video_id:
            continue
        author = video.get("author") or {}
        stats = video.get("statistics") or {}
        caption = video.get("desc") or ""
        matched = [word for word in MARKERS if word in caption.casefold()]
        row = rows.setdefault(str(video_id), {
            "video_id": str(video_id),
            "url": video.get("share_url") or "",
            "author": author.get("unique_id") or author.get("nickname") or "",
            "caption": caption,
            "queries": set(),
            "disclosure_markers": set(),
            "play_count": stats.get("play_count"),
            "digg_count": stats.get("digg_count"),
            "comment_count": stats.get("comment_count"),
            "review_status": "manual_review",
        })
        row["queries"].add(query)
        row["disclosure_markers"].update(matched)

with open("tiktok_disclosure_review.csv", "w", newline="", encoding="utf-8-sig") as file:
    fields = ["video_id", "url", "author", "caption", "queries", "disclosure_markers",
              "play_count", "digg_count", "comment_count", "review_status"]
    writer = csv.DictWriter(file, fieldnames=fields)
    writer.writeheader()
    for row in rows.values():
        row["queries"] = " | ".join(sorted(row["queries"]))
        row["disclosure_markers"] = " | ".join(sorted(row["disclosure_markers"]))
        writer.writerow(row)

print("Saved", len(rows), "unique returned videos")

Перш ніж зберігати код, перевірте статус зовнішньої відповіді, а потім дані в tiktok. Нормалізатор читає обидва розташування роликів. Для наступної сторінки можна передати отриманий cursor у наступний запит без перетворення; цей мінімальний приклад навмисно обмежено однією сторінкою на запит.

Що покаже CSV?

Кожен рядок пов’язує ID і посилання на відео, доступний ідентифікатор автора, опис, пошукові фрази та знайдені маркери. Якщо у відповіді є показники переглядів, уподобань і коментарів, вони зберігаються як контекст для визначення черговості перевірки. Ці поля можуть бути відсутніми; скрипт залишає їх порожніми, а не підставляє нулі.

Потім відкрийте ролик, перевірте наявність і помітність розкриття у відео та зафіксуйте результат за узгодженими категоріями, наприклад «знайдено», «потрібна додаткова перевірка» або «не виявлено під час перегляду». Сам код шукає точні текстові маркери в описі; він не аналізує зображення й аудіо та не ухвалює рішення про відповідність правилам.

Для регулярного процесу запускайте збір за розкладом, записуйте час запиту й зберігайте вихідний JSON разом із CSV. Обмежте список запитів потрібними фразами та термін зберігання зібраних даних. У політиці відповідального збирання даних jsonscraper ідеться про розумну частоту запитів, мінімізацію даних і перевірку результатів ШІ перед подальшими діями.

Результат — відтворювана черга публічних відео для ручної перевірки рекламних розкриттів: збіги пошуку й доступні метрики допомагають визначити, що відкрити першим, а оцінювання самого ролика залишається за перевіряльником. Назви параметрів можна звірити в документації TikTok API, а відомості про продукт — на сторінці TikTok Scraper API.

Люди

Для цієї статті ще немає людей.

Продовжуйте читатиTikTok: перетворіть результати пошуку на щотижневий список тем для підтримки
Читайте наступну статтю

Перетворіть прочитане на робочу інтеграцію

Досліджуйте API соціальних даних jsonscraper, тестуйте запити й створюйте нові процеси.

Переглянути API