jsonscraper
Markkinat
Takaisin lehteen

Näin löydät TikTok-videoita, joissa kysytään tuotteestasi, ja kokoat niistä raportin

Vaiheittainen Python-skripti kokoaa löydetyt videot, tallentaa reaktiomäärät ja nostaa kuvaukset manuaaliseen tarkistukseen tai aiheiden luokitteluun.

Toimituksellinen linjaus Ilmoita virheestä

Jos asiakkaat keskustelevat tuotteestasi TikTokissa, haku brändin nimellä voi tarjota tiimille aineistoa toistuvien kysymysten kokoamiseen. Käytännön tuloksena on CSV-tiedosto, jossa on videon kuvaus, tekijä, linkki ja saatavilla olevat reaktiomäärät. Tiedoston voi välittää asiakastuen asiantuntijalle tai käyttää aiheiden luokittelun lähtöaineistona.

Artikkeli: Näin löydät TikTok-videoita, joissa kysytään tuotteestasi, ja kokoat niistä raportin
Yhteenveto: Brändihakua käyttämällä voit koota julkisia TikTok-videoita, joiden kuvauksissa kysytään tuotteesta. Näytämme, miten tulokset haetaan jsonscraperilla, käsitellään kaksi vastausmuotoa ja viedään rivit CSV-tiedostoon tuki- tai markkinointitiimin käyttöön.
Kuvan rooli: kansikuva – keskeinen ajatus
Osio: 
Visuaalinen aihe: toimituksellinen asetelma: pieni kotikäyttöön tarkoitettu kahvinkeitin painettujen korttien vieressä r
Esimerkki siitä, miten löydetyistä tuoteviittauksista muodostetaan tarkistettavia FAQ-aiheita.© jsonscraper · luotu tekoälyllä

Otetaan esimerkiksi kysymys ”miten Acme-kahvinkeitintä käytetään”. Alla oleva skripti tekee yhden haun TikTokista, poimii videot huolellisesti kahdesta dokumentoidusta vastausrakenteesta ja tallentaa löydetyt tulokset. Sen jälkeen tiimi tarkistaa kuvaukset manuaalisesti, yhdistää samankaltaiset ilmaukset ja muotoilee niistä FAQ-aiheita tai tuotesivun vinkkejä.

Miksi haku kannattaa muuttaa taulukoksi

Hakutulosten selaaminen manuaalisesti vaikeuttaa tarkistamista myöhemmin: tulokset on etsittävä uudelleen, ja muistiinpanot jäävät usein selaimeen tai viestiketjuihin. Tallennettu taulukko tarjoaa yhteisen työlistan: jokaisella rivillä on videon tunniste, linkki, kuvaus, tekijä ja saatavilla olevat mittarit. Uudelleenhaun voi ajastaa, ja JSON-arkiston avulla voi tarkistaa, mitä API palautti tietyllä hakukerralla.

Menetelmän rajaus on tärkeä: haku palauttaa kyselyyn sopivia tuloksia, ei taattua täydellistä luetteloa kaikista maininnoista. Taulukko sopii siis esimerkkien löytämiseen ja toistuvien kysymysten seuraamiseen; esiintyvyyttä koskevia johtopäätöksiä kannattaa tukea uusintahauilla ja manuaalisella tarkistuksella.

Mitä haku palauttaa

TikTok Scraper API -dokumentaatiossa reitti /searchVideo edellyttää keyword-parametria. Tuettujen parametrien joukossa ovat myös count, cursor, date_posted, sort_by ja region. Tässä käyttötapauksessa riittävät hakusana ja tulosten määrä.

Vastaus sisältää ulomman tilan ja tiktok-olion. Tarkistetussa rakenteessa videot voivat olla joko aweme_list-kentässä tai search_item_list-kentän alkioiden sisällä aweme_info-kentässä. Koodi ottaa huomioon molemmat muodot ja poimii vain kentät, jotka ovat todella mukana vastauksessa. Tuloksesta riippuen käytettävissä ovat videon tunniste, kuvaus, linkki, tekijän nimi ja tunniste, julkaisupäivä sekä katselu-, tykkäys-, kommentti- ja jakomäärät.

Yksinkertainen Python-kerääjä

Asenna requests-kirjasto ja määritä avain ympäristömuuttujaan JSONSCRAPER_TIKTOK_LICENSE_KEY. Koodi on yhteensopiva Python 3.8:n ja uudempien kanssa. Se tallentaa alkuperäisen vastauksen JSON-tiedostoon ja normalisoidut rivit CSV-tiedostoon. Salaisuus välitetään pyyntöön, mutta sitä ei tulosteta näytölle.

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 palautti odottamattoman ulomman tilan")

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)

# Poistetaan toistot säilyttäen ensimmäisen esiintymän järjestys.
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"Tallennettuja rivejä: {len(unique)}")

Riippuvuuden voi asentaa komennolla python -m pip install requests. Jos jokin kenttä puuttuu yksittäisestä tietueesta, koodi jättää vastaavan solun tyhjäksi. Tämä on mittareiden kohdalla tärkeää: tyhjä arvo kertoo, ettei kenttää saatu, eikä sitä korvata nollalla.

Näin muutat CSV:n hyödylliseksi kysymyslistaksi

Ensimmäisessä vaiheessa kuvaukset suodatetaan sisällön perusteella. Voit etsiä sanoja, kuten ”miten”, ”miksi” ja ”ei toimi”, mallin nimeä sekä tyypillisiä osien nimiä. Suodatus muodostaa jonon toimitukselliseen tarkistukseen, mutta ei yksin kerro julkaisijan tarkoitusta: brändimaininta voi olla arvostelu, vitsi tai yhteensopivuutta koskeva kysymys.

Jos ryhmittelet sisältöä aiheittain, välitä luokittelijalle vain tarvittavat tekstikentät: kuvaus ja tarvittaessa tehtävään soveltuva anonymisoitu tietuetunniste. Pyydä luokittelemaan sisältö ennalta määrättyihin kategorioihin, kuten ”ensikäynnistys”, ”puhdistus”, ”yhteensopivuus”, ”vika” ja ”ostaminen”. Säilytä alkuperäinen kuvaus kategorian rinnalla, jotta työntekijä voi tarkistaa luokituksen ja korjata virheen.

Työraportissa voi olla aihe, löydettyjen esimerkkien määrä, linkit muutamaan havainnollistavaan videoon ja erillinen ”ihmisen tarkistama” -sarake. Kerätyn aineiston esimerkkimäärä kuvaa kyseisen kyselyn ja keruuajanjakson tuloksia; se ei vastaa niiden asiakkaiden osuutta, joilla ongelma on.

Sivutus ja säännöllinen ajo

Jos tarvitset seuraavan tulossivun, dokumentaatiossa mainitaan cursor sivutuksen parametrina: välitä edellisestä vastauksesta saatu kursorin arvo seuraavaan pyyntöön. Käsittele sitä läpinäkymättömänä tunnisteena ja lopeta haku, kun vastaus ei enää sisällä tuloksia tai API ilmoittaa, ettei seuraavaa sivua ole. Rajatussa kokeilussa on järkevää aloittaa yhdellä pyynnöllä, tarkistaa tulosten sisältö ja lisätä sivutus vasta sen jälkeen.

Voit automatisoida keruun ajamalla skriptin aikataulutetusti käyttöjärjestelmän ajastimella tai CI-putkessa. Tallenna kunkin ajon alkuperäinen JSON erikseen ja lisää taulukkoon keruuaika. Kun historiaa kertyy, poista duplikaatit videon tunnisteen perusteella, mutta tallenna erilliset tilannekuvat, jos tehtävään kuuluu muuttuvien mittareiden seuraaminen. Mittareita kannattaa verrata vain, jos samasta tietueesta on useita tilannekuvia.

Säilytä avain CI:n salaisuuksien hallinnassa tai ympäristömuuttujassa, rajoita arkiston käyttöoikeuksia ja määritä sisäinen säilytysaika. Ennen materiaalin siirtämistä luokittelujärjestelmään tarkista, mitä kenttiä se todella tarvitsee. Näin käyttäjätietoja kopioidaan vähemmän ja käyttöoikeuksien hallinta helpottuu.

Mitä tiimi saa tulokseksi

Ajosta saat alkuperäisen vastauksen arkiston ja CSV-tiedoston, jossa on löydetyt videot ja saatavilla olevat kentät. Asiakastuki voi tarkistaa linkit ja koota toistuvia kysymyksiä, markkinointi voi tarkastella, miten yleisö kuvailee tarpeitaan, ja analyytikko voi toistaa keruun sekä vertailla eri päivien havaintoja.

Artikkeli: Näin löydät TikTok-videoita, joissa kysytään tuotteestasi, ja kokoat niistä raportin
Yhteenveto: Brändihakua käyttämällä voit koota julkisia TikTok-videoita, joiden kuvauksissa kysytään tuotteesta. Näytämme, miten tulokset haetaan jsonscraperilla, käsitellään kaksi vastausmuotoa ja viedään rivit CSV-tiedostoon tuki- tai markkinointitiimin käyttöön.
Kuvan rooli: täydentävä kuvitus 2 – eri näkökulma
Osio: Tiimi saa tulokseksi
Visuaalinen aihe: selkeä infografiikka
Keruun kaavio: kaksi JSON-rakennetta yhdistetään duplikaattien poistoon, arkistoon ja tarkistettavaan taulukkoon.© jsonscraper · tekoälyn luoma kuvitus

Aloita rajaamalla haku tuotteen nimeen ja tiettyyn ongelmaan. Tarkista 20–30 löydettyä tietuetta manuaalisesti ja tarkenna kategorioiden sanastoa. Sen jälkeen voit lisätä useita aihekohtaisia hakuja, ajastuksen ja viennin taulukkoon tai tietokantaan. Reitin ominaisuudet ja parametrit löytyvät TikTok Scraper API:n kuvauksesta; tarkista valitsemasi haku ennen laajemman seurannan rakentamista.

Ihmiset

Tämän artikkelin luettelossa ei ole vielä ihmisiä.

Jatka lukemistaNäin kokoat viikoittaisen TikTok-raportin tuotteen lanseerauksen vastaanotosta
Lue seuraava artikkeli

Muuta lukemasi toimivaksi integraatioksi

Tutustu jsonscraperin sosiaalisen datan rajapintoihin, testaa pyyntöjä ja rakenna seuraava työnkulkusi.

Tutki API:t