jsonscraper
Markeder
Tilbake til journalen

Finn TikTok-videoer med spørsmål om produktet ditt og lag en rapport

Et trinnvis Python-skript samler inn videoer som søket finner, lagrer reaksjonstall og trekker ut beskrivelser for manuell gjennomgang eller tematisk klassifisering.

Redaksjonelle retningslinjer Meld fra om en feil

Hvis kunder snakker om produktet ditt på TikTok, kan et søk etter merkenavnet gi teamet materiale til en liste over gjentakende spørsmål. Det praktiske resultatet er en CSV-fil med videobeskrivelse, forfatter, lenke og tilgjengelige reaksjonstall. Filen kan deles med supportmedarbeidere eller brukes som grunnlag for tematisk klassifisering.

Artikkel: Finn TikTok-videoer med spørsmål om produktet ditt og lag en rapport
Sammendrag: Et søk etter merkenavn kan samle offentlige TikTok-videoer der folk stiller spørsmål om et produkt i beskrivelsene. Vi viser hvordan du henter resultater med jsonscraper, håndterer begge svarformatene og eksporterer rader til CSV for support- eller markedsføringsteamet.
Bildets rolle: Forside – hovedideen
Seksjon: 
Visuelt motiv: Redaksjonelt stilleben: en liten kaffemaskin til husholdningen ved siden av trykte kort r
Eksempel på hvordan produktomtaler som søket finner, blir til etterprøvbare FAQ-emner.© jsonscraper · laget med KI

La oss ta spørsmålet «hvordan bruker jeg Acme-kaffemaskinen?» som eksempel. Skriptet nedenfor sender én forespørsel til TikTok-søket, henter videoer på en robust måte fra to dokumenterte varianter av svarstrukturen og lagrer resultatene. Deretter gjennomgår teamet beskrivelsene manuelt, slår sammen lignende formuleringer og gjør dem om til FAQ-emner eller forslag til produktkortet.

Hvorfor gjøre søket om til en tabell

Manuell gjennomgang av søkeresultater gjør det vanskelig å kontrollere på nytt: resultatene må finnes igjen, og notater blir ofte liggende i nettleseren eller i en samtale. En tabell som lagres, gir én felles arbeidsliste: Hver oppføring har video-ID, lenke, beskrivelse, forfatter og tilgjengelige måltall. En ny kjøring kan legges inn i en tidsplan, og JSON-arkivet gjør det mulig å undersøke nøyaktig hva API-et returnerte i en bestemt kjøring.

Det er viktig å være klar over metodens begrensning: Søket returnerer resultater det finner for søket, ikke en garantert komplett oversikt over alle omtaler. Tabellen egner seg derfor til å finne eksempler og følge gjentakende spørsmål; konklusjoner om hvor ofte noe skjer, bør underbygges med gjentatte kjøringer og manuell gjennomgang.

Hva søket returnerer

Endepunktet /searchVideo i dokumentasjonen for TikTok Scraper API krever parameteren keyword. Blant de støttede parameterne finner vi også count, cursor, date_posted, sort_by og region. For dette eksempelet er søkeordet og antallet resultater tilstrekkelig.

Svaret inneholder en ytre status og objektet tiktok. I det kontrollerte skjemaet kan videoene ligge i aweme_list eller i elementene i search_item_list under feltet aweme_info. Koden tar høyde for begge formene og henter bare felt som faktisk finnes. Avhengig av resultatet kan opplysningene omfatte video-ID, beskrivelse, lenke, forfatterens navn og ID, publiseringsdato samt antall visninger, likerklikk, kommentarer og delinger.

En enkel innsamler i Python

Installer requests-biblioteket og legg nøkkelen i miljøvariabelen JSONSCRAPER_TIKTOK_LICENSE_KEY. Koden er kompatibel med Python 3.8+. Den lagrer det opprinnelige svaret i JSON og normaliserte rader i CSV. Hemmeligheten sendes med forespørselen, men vises ikke på skjermen.

import csv
import json
import os
from datetime import datetime, timezone
from pathlib import Path

import requests

API_KEY = os.environ["JSONSCRAPER_TIKTOK_LICENSE_KEY"]
KEYWORD = "Acme кофемашина"

response = requests.get(
    "https://tiktok.evelode.com/searchVideo",
    params={
        "license_key": API_KEY,
        "keyword": KEYWORD,
        "count": 30,
        "region": "US",
    },
    timeout=60,
)
response.raise_for_status()
payload = response.json()

if payload.get("status") != "ok":
    raise RuntimeError("TikTok API returnerte en uventet ytre status")

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

# Fjern duplikater, og behold rekkefølgen fra første forekomst.
unique = {}
for item in items:
    video_id = item.get("aweme_id")
    if video_id:
        unique.setdefault(video_id, item)

stamp = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%SZ")
Path("data").mkdir(exist_ok=True)
Path(f"data/raw-{stamp}.json").write_text(
    json.dumps(payload, ensure_ascii=False, indent=2), encoding="utf-8"
)

columns = [
    "video_id", "description", "share_url", "author", "author_id",
    "created_at", "views", "likes", "comments", "collected_at"
]
with open("data/videos.csv", "w", newline="", encoding="utf-8") as file:
    writer = csv.DictWriter(file, fieldnames=columns)
    writer.writeheader()
    for item in unique.values():
        author = item.get("author") or {}
        stats = item.get("statistics") or {}
        created = item.get("create_time")
        writer.writerow({
            "video_id": item.get("aweme_id"),
            "description": item.get("desc"),
            "share_url": item.get("share_url"),
            "author": author.get("nickname"),
            "author_id": author.get("uid"),
            "created_at": created,
            "views": stats.get("play_count"),
            "likes": stats.get("digg_count"),
            "comments": stats.get("comment_count"),
            "collected_at": stamp,
        })

print(f"Lagrede rader: {len(unique)}")

Installer avhengigheten med kommandoen python -m pip install requests. Hvis et felt mangler i en bestemt oppføring, lar koden den tilsvarende cellen stå tom. Dette er viktig for måltall: En tom verdi betyr at feltet ikke ble returnert, og erstattes ikke med null.

Slik gjør du CSV-filen om til en nyttig spørsmålsliste

Første trinn er å filtrere beskrivelsene etter innhold. Du kan søke etter ord som «hvordan», «hvorfor», «fungerer ikke», modellnavnet og karakteristiske navn på deler. Et slikt filter lager en kø for redaksjonell gjennomgang, men fastslår ikke i seg selv hva forfatteren mente: En merkevareomtale kan være en anmeldelse, en spøk eller et spørsmål om kompatibilitet.

Ved tematisk gruppering kan du sende en klassifikator bare de nødvendige tekstfeltene: beskrivelsen og, hvis det passer til oppgaven, en anonymisert ID for oppføringen. Be om faste kategorier, for eksempel «første gangs bruk», «rengjøring», «kompatibilitet», «feil» og «kjøp». Behold originalbeskrivelsen ved siden av kategorien, slik at en medarbeider kan kontrollere klassifiseringen og rette feil.

En arbeidsrapport kan inneholde tema, antall funne eksempler, lenker til noen illustrerende videoer og en egen kolonne for «kontrollert av et menneske». Antallet eksempler i det innsamlede datasettet beskriver resultatene for dette søket og denne innsamlingsperioden; det tilsvarer ikke andelen av alle kunder som opplever et problem.

Sideinndeling og regelmessig kjøring

Hvis du trenger neste resultatside, angir dokumentasjonen cursor som parameter for sideinndeling: Send cursor-verdien fra det forrige svaret med i neste forespørsel. Behandle den som en ugjennomsiktig token, og avslutt gjennomgangen når svaret ikke lenger inneholder resultater eller API-et opplyser at det ikke finnes flere sider. For en avgrenset pilot er det fornuftig å begynne med én forespørsel, kontrollere resultatene og først deretter legge til sideinndeling.

For regelmessig innsamling kan du kjøre skriptet etter en tidsplan med operativsystemets planlegger eller CI. Lagre en egen original JSON-fil for hver kjøring, og legg til innsamlingstidspunktet i tabellen. Når historikken vokser, kan du deduplisere oppføringer etter video-ID, men lagre gjentatte øyeblikksbilder separat hvis oppgaven omfatter sporing av måltall som endrer seg. Sammenligning av måltall gir bare mening når det finnes flere øyeblikksbilder av samme oppføring.

Oppbevar nøkkelen i CI-systemets hemmelighetslager eller i en miljøvariabel, begrens tilgangen til arkivet og fastsett en intern lagringsperiode. Kontroller hvilke felt klassifiseringssystemet faktisk trenger, før du overfører materialet dit. Det reduserer unødvendig kopiering av brukerdata og gjør tilgangskontrollen enklere.

Hva teamet får ut av dette

Etter kjøringen har du et arkiv med det opprinnelige svaret og en CSV-fil med videoene søket fant, samt tilgjengelige felt. Supportteamet kan kontrollere lenkene og samle gjentakende spørsmål; markedsføring kan se hvilke formuleringer målgruppen bruker for å beskrive behovene sine; analytikere kan gjenta innsamlingen og sammenligne observasjoner fra ulike datoer.

Artikkel: Finn TikTok-videoer med spørsmål om produktet ditt og lag en rapport
Sammendrag: Et søk etter merkenavn kan samle offentlige TikTok-videoer der folk stiller spørsmål om et produkt i beskrivelsene. Vi viser hvordan du henter resultater med jsonscraper, håndterer begge svarformatene og eksporterer rader til CSV for support- eller markedsføringsteamet.
Bildets rolle: Støtteillustrasjon 2 – et annet spesifikt aspekt
Seksjon: Hva teamet får ut av dette
Visuelt motiv: Tydelig infograf
Innsamlingsflyt: To varianter av JSON-strukturen samles i deduplisering, arkiv og en tabell for gjennomgang.© jsonscraper · KI-generert illustrasjon

Begynn med et avgrenset søk etter produktnavnet og et konkret problem, gjennomgå 20–30 av oppføringene manuelt og juster kategoriene. Deretter kan du legge til flere temasøk, en tidsplan og eksport til et regneark eller en database. Funksjonene og parameterne for endepunktet står i beskrivelsen av TikTok Scraper API; kontroller det valgte søket før du bygger en mer omfattende overvåking.

Mennesker

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

Fortsett å leseSlik lager du en ukentlig TikTok-rapport om publikums reaksjoner på en produktlansering
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