jsonscraper
Marknader
Tillbaka till journalen

Så granskar du reklammarkeringar i offentliga TikTok-videor

Ett Python-skript samlar videor från varumärkessökningar, markerar tydliga reklamformuleringar och sparar en lista för manuell granskning

Redaktionella riktlinjer Rapportera ett fel

För att hitta offentliga TikTok-videor som nämner ett varumärke och innehåller tydliga reklamformuleringar kan du samla resultat från flera sökfrågor, hämta bildtexterna och markera nyckelord. Resultatet blir en CSV-fil med länkar och tillgängliga mätvärden – en kö för mänsklig granskning, inte ett automatiskt besked om regelefterlevnad.

Arbetssättet passar en byrå som jämför en kampanj med en brief eller ett internt team som håller en lista över offentliga omnämnanden. Det hjälper teamet att strukturera sökresultaten och bevara de ledtrådar som analytikern använder för att avgöra vilken video som ska öppnas och granskas.

Vad ska du leta efter i videorna?

Vid en reklamgranskning är det viktigt att förstå kopplingen mellan skaparen och varumärket och hur den redovisas i anslutning till en rekommendation. FTC:s vägledning för influerare förklarar att en väsentlig koppling kan vara ekonomisk, yrkesmässig, personlig eller familjemässig och att upplysningen ska vara tydlig och lätt att förstå. För videorekommendationer anger FTC att upplysningen ska finnas i själva videon, inte bara i beskrivningen. Därför är bildtexten användbar för sortering, men den visar inte i sig vad tittaren såg i bild eller hörde i ljudet.

Det här skriptet har ett mer avgränsat syfte: att hitta videor i de returnerade sökresultaten vars bildtexter innehåller varumärkesfraser och möjliga markörer som ”reklam”, ”sponsor” eller ”partnerskap”. Anpassa ordlistan efter kampanjens språk och terminologi. Om ingen markör finns i bildtexten öppnar du videon och granskar innehållet: en textträff fastställer inte om videon i sig innehåller en upplysning.

Hur gör du sökresultaten till en granskningskö?

Skapa en kort lista med sökfrågor: varumärkets namn, kampanjnamnet och en vanlig stavning av produktnamnet. Kör sökningarna separat och spara formuleringarna tillsammans med resultaten. Då kan teamet se vilken sökfråga som hittade videon och upprepa insamlingen vid behov.

Artikel: Så granskar du reklammarkeringar i offentliga TikTok-videor
Sammanfattning: Marknadsteam behöver ofta hitta offentliga TikTok-videor som nämner ett varumärke och kan innehålla reklammarkeringar. Så samlar du in API-resultat, hämtar bildtexter och tillgängliga mätvärden samt markerar tydliga ord som ”reklam” och ”partnerskap” för vidare granskning.
Bildens roll: stödillustration 2 – en annan specifik aspekt
Avsnitt: Hur gör du sökresultaten till en granskningskö?
Diagrammet visar vägen från sökresultat till en CSV-granskningskö och manuell kontroll av upplysningen direkt i videon.© jsonscraper · AI-genererad illustration
Artikel: Så granskar du reklammarkeringar i offentliga TikTok-videor
Sammanfattning: Marknadsteam behöver ofta hitta offentliga TikTok-videor som nämner ett varumärke och kan innehålla reklammarkeringar. Så samlar du in API-resultat, hämtar bildtexter och tillgängliga mätvärden samt markerar tydliga ord som ”reklam” och ”partnerskap” för vidare granskning.
Bildens roll: omslagsbild – huvudidén
Avsnitt: Hur gör du sökresultaten till en granskningskö?
Visuellt motiv: rysk information

För insamlingen kan du använda TikTok Scraper API från jsonscraper. Den dokumenterade GET-routen /searchVideo finns på https://tiktok.evelode.com och tar parametrarna keyword, count, date_posted, sort_by, region och cursor. I ett observerat svar låg TikTok-data med videor i search_item_list[].aweme_info; aweme_list kunde vara tom. Parsern nedan kontrollerar båda placeringarna.

Nyckeln skickas i parametern license_key. Förvara den i en miljövariabel, inte i skriptet eller kodförrådet. Dokumentationen för TikTok-routes innehåller namnen på sökparametrarna; använd den returnerade cursor-markören för nästa sida. Spara antalet behandlade objekt och själva sökfrågan: paginering gör det möjligt att fortsätta genom resultaten, men garanterar inte i sig att uppsättningen är fullständig.

En kort Python-exempel

Skriptet gör en sökning per fras, samlar båda dokumenterade resultatformaten, tar bort dubbletter baserat på video-ID, markerar ord i beskrivningen och skriver en CSV-fil. Installera requests med kommandot python -m pip install requests, ange JSONSCRAPER_TIKTOK_LICENSE_KEY i miljön och kör filen. Exemplet fungerar med Python 3.8 och senare.

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")

Kontrollera den externa responsens status innan du sparar koden och inspektera sedan uppgifterna i tiktok. Normaliseraren läser båda videoplaceringarna. För nästa sida kan du skicka den returnerade cursor-markören i nästa begäran utan att omvandla den; det här minimala exemplet är avsiktligt begränsat till en sida per sökfråga.

Vad visar CSV-filen?

Varje rad kopplar ihop video-ID och videolänk med tillgängligt författar-ID, bildtext, sökfraser och matchande markörer. Om svaret innehåller antal visningar, gilla-markeringar och kommentarer sparas de som kontext för att välja granskningsordning. Dessa fält kan saknas; skriptet lämnar dem tomma i stället för att fylla i nollor.

Öppna sedan videon, kontrollera om upplysningen finns och är tydlig i själva videon och registrera resultatet enligt överenskomna kategorier, till exempel ”hittad”, ”behöver granskas ytterligare” eller ”hittades inte vid granskning”. Koden söker endast efter exakta textmarkörer i bildtexten; den analyserar inte bild eller ljud och fattar inget beslut om regelefterlevnad.

För en återkommande process kan du schemalägga insamlingen, registrera tidpunkten för begäran och spara den ursprungliga JSON-filen tillsammans med CSV-filen. Begränsa listan till nödvändiga sökfraser och välj en lämplig lagringstid för insamlade data. I jsonscrapers policy för ansvarsfull datainsamling tas rimlig sökfrekvens, dataminimering och granskning av AI-resultat före vidare åtgärder upp.

Resultatet är en reproducerbar kö av offentliga videor för manuell granskning av reklammarkeringar: sökträffar och tillgängliga mätvärden hjälper dig att välja vad du ska öppna först, medan bedömningen av själva videon ligger hos granskaren. Parameternamnen finns i dokumentationen för TikTok API, och produktinformationen på sidan för TikTok Scraper API.

Personer

Inga personer listade för denna artikel ännu.

Fortsätt läsaTikTok: gör sökresultaten till en veckolista över supportämnen
Läs nästa artikel

Gör det du läser till en fungerande integration

Utforska jsonscrapers API:er för social data, testa anrop och bygg nästa arbetsflöde.

Utforska API:er