jsonscraper
Markeder
Tilbake til journalen

Slik finner du TikTok-videoer med reklamemerking og sender dem til gjennomgang

En Python-pipeline samler søkeresultater, henter tilgjengelige beskrivelser og måltall og oppretter deretter en kø for manuell kontroll

Redaksjonelle retningslinjer Meld fra om en feil

Når et team skal undersøke hvordan innholdsskapere opplyser om tilknytning til en merkevare i offentlige TikTok-videoer, er et nyttig første resultat ikke en automatisk konklusjon, men en kompakt kø med videoer, bildetekster, lenker og ord som er funnet som markører. Her er en praktisk fremgangsmåte: send et søk via TikTok Scraper API jsonscraper, konverter de to mulige svarstrukturene til ett format, og lagre en CSV-fil for gjennomgang av en fagperson.

Målet: finne videoer som bør gjennomgås

Manuelt søk etter et selskapsnavn er vanskelig å gjenta på samme måte: Resultatene må samles inn ett etter ett, og grunnlaget for utvalget blir liggende i nettleseren. Med automatisert innsamling kan du lagre søket, datoen det ble kjørt og materialet som ble funnet, i en tabell, slik at teamet kan gjennomgå videoene fra én felles liste.

Artikkel: Slik finner du TikTok-videoer med reklamemerking og sender dem til gjennomgang
Sammendrag: Slik søker du etter offentlige TikTok-videoer med merkenavn, håndterer begge API-svarvariantene på en robust måte og eksporterer videoer med tydelige reklamemarkører til en CSV-fil for faglig gjennomgang.
Bildets rolle: forside – hovedideen
Del: Målet: finne videoer som bør gjennomgås
Visuelt motiv: Redaksjonelt stilleben med en utskrevet CSV-kø for kontroll ved siden av en telefon som viser en abstrakt
Listen over kandidater knytter en funnet tekstmarkør til en konkret publisering som deretter gjennomgås av en fagperson.© jsonscraper · laget med KI

I dette eksemplet betyr «kandidat for gjennomgang» bare en video fra søkeresultatene der beskrivelsen inneholder et forhåndsdefinert ord eller uttrykk. Det kan for eksempel være «reklame», «partnerskap» eller «sponsor». Et slikt tekstfilter kan rette oppmerksomheten mot relevant innhold, men det vurderer ikke selve videoen og fastslår ikke om gjeldende krav er oppfylt.

Dette skillet er viktig for markedsføringsteamet. Anbefalingene fra den amerikanske Federal Trade Commission beskriver opplysning om en vesentlig tilknytning til en merkevare som en plikt som avhenger av budskapets kontekst; for video anbefaler FTC å ta hensyn til både synlig og hørbar opplysning. Søk i bildetekster kan avdekke enkelte tekstlige signaler, men en konklusjon krever at man ser publiseringen og vurderer konteksten. FTCs veiledning for innholdsskapere forklarer disse forholdene med eksempler.

Resultatet: en CSV-fil med utvalgsgrunnlag

Pipelinen skriver én rad per unik video-ID og inkluderer beskrivelsestekst, lenke, forfatternavn, tilgjengelige offentlige måltall og markører som samsvarer. I tillegg legger vi til det opprinnelige søket og tidspunktet for innsamlingen. Dermed kan tabellen sendes videre til en arbeidskø, og det blir enklere å forstå senere hvorfor en bestemt video ble tatt med.

Listen over markører fastsettes av en redaktør eller en fagperson innen etterlevelse. Begynn med språket og uttrykkene som faktisk brukes i kampanjen, og gjennomgå deretter utvalget. Utvid listen ved behov. Verdiene i koden nedenfor er bevisst enkle; tilpass dem til den aktuelle merkevaren, markedet og innholdsspråket.

Koble til TikTok Scraper API

Dokumentasjonen til jsonscraper angir endepunktet GET /searchVideo på basisadressen https://tiktok.evelode.com for videosøk. Den obligatoriske parameteren er keyword; blant tilleggsparameterne finner vi count, date_posted, sort_by og region. Nøkkelen sendes som license_key, så oppbevar den i en miljøvariabel, ikke i koden eller CSV-filen. Nøyaktige parameternavn og endepunktet står i referansen for TikTok-endepunkter; produkt- og tilgangsinformasjon finnes på siden for TikTok Scraper API.

En viktig detalj ved svaret påvirker hvor komplett den lokale parseren blir: dataene kan ligge i tiktok.aweme_list eller i tiktok.search_item_list[].aweme_info. Derfor kontrollerer skriptet begge listene. Hvis søket gir en tom liste, oppretter det en tom CSV-fil i stedet for å fylle den med oppdiktede rader.

Python-eksempel: søk, filtrering og CSV

Eksemplet bruker bare standardbiblioteket i Python 3.8 eller nyere. Før du kjører det, angir du JSONSCRAPER_TIKTOK_LICENSE_KEY i miljøet. Forespørselen bruker keyword, og nøkkelen sendes i spørringsparameteren license_key, slik det står i spesifikasjonen.

Artikkel: Slik finner du TikTok-videoer med reklamemerking og sender dem til gjennomgang
Sammendrag: Slik søker du etter offentlige TikTok-videoer med merkenavn, håndterer begge API-svarvariantene på en robust måte og eksporterer videoer med tydelige reklamemarkører til en CSV-fil for faglig gjennomgang.
Bildets rolle: støtteillustrasjon 2 – et annet konkret aspekt
Del: Python-eksempel: søk, filtrering og CSV
Visuelt motiv: Enkel infografikk på russisk som viser TikTok API-svar
Diagrammet viser begge støttede veiene til søkeresultatene og trinnene for å klargjøre gjennomgangskøen.© jsonscraper · KI-generert illustrasjon
import csv
import json
import os
import sys
from datetime import datetime, timezone
from urllib.parse import urlencode
from urllib.request import Request, urlopen

API_KEY = os.environ["JSONSCRAPER_TIKTOK_LICENSE_KEY"]
KEYWORD = "Acme"
MARKERS = ["реклама", "партнерство", "партнёрство", "спонсор", "ad", "sponsored"]

params = {
    "license_key": API_KEY,
    "keyword": KEYWORD,
    "count": 30,
    "sort_by": "date-posted",
    "date_posted": "this-month",
    "region": "US",
}
url = "https://tiktok.evelode.com/searchVideo?" + urlencode(params)
request = Request(url, headers={"Accept": "application/json"})

with urlopen(request, timeout=30) as response:
    payload = json.load(response)

if payload.get("status") != "ok":
    raise RuntimeError("API returned a non-ok outer status")

tiktok = payload.get("tiktok") or {}
items = list(tiktok.get("aweme_list") or [])
for entry in tiktok.get("search_item_list") or []:
    info = entry.get("aweme_info") or {}
    if info:
        items.append(info)

seen = set()
rows = []
collected_at = datetime.now(timezone.utc).isoformat()

for item in items:
    video_id = item.get("aweme_id")
    if not video_id or video_id in seen:
        continue
    seen.add(video_id)

    description = item.get("desc") or ""
    lowered = description.casefold()
    matched = [word for word in MARKERS if word.casefold() in lowered]
    if not matched:
        continue

    author = item.get("author") or {}
    stats = item.get("statistics") or {}
    rows.append({
        "collected_at_utc": collected_at,
        "search_keyword": KEYWORD,
        "video_id": video_id,
        "share_url": item.get("share_url") or "",
        "description": description,
        "matched_markers": "; ".join(matched),
        "author_name": author.get("nickname") or "",
        "author_id": author.get("unique_id") or "",
        "play_count": stats.get("play_count", ""),
        "digg_count": stats.get("digg_count", ""),
        "comment_count": stats.get("comment_count", ""),
        "share_count": stats.get("share_count", ""),
    })

fields = [
    "collected_at_utc", "search_keyword", "video_id", "share_url",
    "description", "matched_markers", "author_name", "author_id",
    "play_count", "digg_count", "comment_count", "share_count",
]
with open("tiktok_review_queue.csv", "w", newline="", encoding="utf-8-sig") as output:
    writer = csv.DictWriter(output, fieldnames=fields)
    writer.writeheader()
    writer.writerows(rows)

print(f"Saved {len(rows)} review candidates to tiktok_review_queue.csv")

Skriptet kontrollerer først den ytre statusen, leser deretter objektet tiktok og slår sammen de tilgjengelige listevariantene. Deduplisering med aweme_id forhindrer dupliserte rader dersom én video finnes via begge svarstrukturene. Måltallene lagres slik de mottas; manglende verdier blir stående tomme i stedet for å bli gjort om til null.

Eksemplet bruker parametere som er dokumentert for /searchVideo: date_posted kan ha verdien this-month, sort_by kan være date-posted, og region tar imot en landskode. Verdien count bestemmer størrelsen på søkeresultatet som etterspørres, men er ingen garanti for en fullstendig liste over publiseringer. Hvis du implementerer paginering, må du lagre den returnerte markøren som en ugjennomsiktig verdi og sende den videre i parameteren cursor.

Menneskelig gjennomgang og automatisering av kjøringen

Send CSV-filen til den ansvarlige kontrolløren sammen med en kort instruksjon: åpne lenken, se videoen og vurder bildetekstens kontekst, dokumenter konklusjonen, og legg til en kommentar hvis markøren er brukt i en annen betydning. Automatisk filtrering skiller for eksempel ikke mellom reklamemerking og en diskusjon om hvordan reklame fungerer. Menneskelig gjennomgang håndterer dette tolkningsmessige gapet.

For gjentakbar innsamling kan du kjøre skriptet etter en tidsplan med cron, en CI-planlegger eller en oppgaveorkestrator. Lagre CSV-filer med kjøredato, eller last radene inn i en tabell med en unik nøkkel satt sammen av video-ID og observasjonsdato. Hvis du trenger en revisjonslogg, bør du også lagre det opprinnelige JSON-svaret med tilgangskontroll: Det gjør det mulig å kontrollere transformasjonen på nytt og forklare hvor hver rad kommer fra.

I en produksjonsversjon bør du legge til håndtering av nettverks- og HTTP-feil, begrenset antall nye forsøk og varsling ved feil. Ikke skriv ut hele forespørselsadressen: Den inneholder tilgangsnøkkelen. For team med flere brukere er det fornuftig å lagre hemmeligheten i en hemmelighetstjeneste for kjøremiljøet og begrense tilgangen til resultatfilene i tråd med interne regler.

Hva en slik liste faktisk gir

Når skriptet er kjørt, får teamet et gjentakbart utvalg av videoer som ble funnet med søkefrasen, og en tydelig begrunnelse for at hver kandidat havnet i køen. I tabellen kan man manuelt fjerne irrelevante treff, tildele en kontrollør og gruppere resultatene etter markør eller innholdsskaper. Ved regelmessig innsamling får man også en historikk over hvilke videoer som var med i søkeresultatene på bestemte datoer.

Metoden egner seg til innledende oppdagelse og videresending av materiale, ikke til automatisk å konkludere om etterlevelse av regler. Den er begrenset av søkeresultatene, det valgte søkeordet, søkeinnstillingene og tekstmarkørene. For å kontrollere et konkret samarbeid bør du sammenligne videoen med kampanjebeskrivelsen og opplysningene teamet har tilgang til, og deretter vurdere selve budskapet opp mot gjeldende regler.

Før du begynner, bør du kontrollere gjeldende tilgang og parametere på produktsiden for TikTok Scraper API, og sammenholde svarformat og integrasjonsalternativer med den offisielle API-dokumentasjonen.

Mennesker

Ingen personer er oppført for denne artikkelen ennå.

Fortsett å leseFinn TikTok-videoer med spørsmål om produktet ditt og lag en rapport
Les neste artikkel

Gjør det du leser til en fungerende integrasjon

Utforsk jsonscrapers API-er for sosiale data, test forespørsler og bygg neste arbeidsflyt.

Utforsk API-er