Sisältötiimi huomaa uuden aiheen TikTokissa usein vasta, kun kilpailijat puhuvat siitä jo. Syynä on usein yksinkertainen asia: hakuja tarkistetaan manuaalisesti ja epäsäännöllisesti, ja löydetyt linkit jäävät chattiin ilman yhteistä taulukkoa, keräyspäivää tai vertailukelpoisia mittareita. Muutosten havaitsemiseksi aiemmin haku kannattaa muuttaa toistettavaksi prosessiksi: kirjaa kyselyt, tallenna löydetyt videot säännöllisesti ja vertaile vain havaittuja tuloksia.

Alla kuvataan tällaisen seurannan toteutus Pythonilla ja TikTok Scraper API jsonscraperilla. Se sopii esimerkiksi toimistolle, joka seuraa useita aihekohtaisia hakuja julkaisukalenteria varten, tai brändille, jonka on tärkeää nähdä, mitkä aiheen julkiset videot saavat huomattavasti katselukertoja ja reaktioita. API palauttaa TikTok-haun tuloksia, kuten videon kuvauksen, tekijän, julkaisupäivän, linkin ja saatavilla olevat laskurit. Skripti arkistoi jokaisen vastauksen ja luo analyysia varten CSV-otoksen.
Keskeinen periaate on, ettei seurata abstraktia ”trendiä” vaan omassa havaintolokissa näkyviä muutoksia: mitkä videot ovat ilmestyneet otokseen, miten aiemmin tunnettuja videoita koskevat julkiset laskurit ovat muuttuneet ja mitkä ilmaukset toistuvat kuvauksissa. Näin sisältötiimi saa tarkistettavien aiheiden todennettavan jonon, ja jokaisen päätelmän alkuperä säilyy.
Miksi manuaalisesta hausta tulee heikko seurantamenetelmä
Hakutulokset ovat muuttuva otos, eivät vakaa julkaisuluettelo. Jos työntekijä löytää tänään sanalla kymmenen videota ja avaa haun uudelleen ensi viikolla, tulosten vertailu on vaikeaa: vanhat linkit ovat saattaneet kadota, hakutulosten joukko on erilainen ja laskurit ovat ehtineet päivittyä. Ilman tallennettuja otoksia ei voida palauttaa mieleen, mitä tiimi näki tiettynä päivänä.
Jo yksinkertainen päivittäinen keruu korjaa osan ongelmasta. Jokaisesta ajosta tallennetaan havaintopäivä, hakutermi, videon tunniste, tekijä, kuvaus, linkki ja saatavilla olevat mittarit. Seuraavan ajon yhteydessä tietueet voidaan yhdistää videon tunnisteen perusteella ja laskea laskureiden arvojen erotus, jos molemmat versiot sisältävät tarvittavat kentät.
Arvoja on tulkittava API-vastauksessa havaittujen videoiden julkisina mittareina, ei TikTokin kokonaiskattavuutena tai kattavana suosioluokituksena. Hakutulokset voivat muuttua, yksittäisiä kenttiä voi puuttua ja mittarit riippuvat keruuajankohdasta. Siksi putken tarkoituksena on tuottaa toistettava työotos ja nostaa esiin tarkistettavia ehdokkaita – ei julistaa aihetta yleiseksi trendiksi yhden luvun perusteella.
Ratkaisun rakenne: haku, arkisto, vertailu
Putkessa on viisi osaa: avainsanojen asetukset, API-kysely, muuttumaton JSON-arkisto, normalisoitu tietuekerros ja muutosraportti. Näin jokaisen vaiheen toiminnan voi tarkistaa erikseen. Jos vastaus muuttuu tai joitakin kenttiä puuttuu, alkuperäinen JSON on edelleen saatavilla uudelleenkäsittelyä varten.
- Määritä hakukyselyt. Käytä tuotteen, toimialan tai yleisön tarpeisiin liittyviä täsmällisiä ilmauksia. Keittiölaitteiden brändi voi esimerkiksi seurata hakuja ”meal prep”, ”air fryer recipes” ja tietyn tuoteryhmän nimeä. Tallenna kyselyluettelo asetustiedostoon sen sijaan, että kirjoittaisit sen käsittelylogiikkaan.
- Määritä keruun säännöt. Valitse aikataulu ja pieni tulosmäärä pilottia varten. Kirjaa päivämäärä, alue ja hakuasetukset. Aikasarjojen vertailussa asetusten toistaminen on tärkeämpää kuin mahdollisimman laajan vastauksen kerääminen yhdellä ajolla.
- Tallenna alkuperäinen vastaus. Kirjoita JSON-tiedosto ajankohdan ja hakusanan kanssa. Arkistosta voi palauttaa alkuperäisen tietueen ja korjata normalisointia ilman uutta API-kutsua.
- Normalisoi vahvistetut kentät. Poimi vain vastauksessa olevat kentät: tunniste, kuvateksti, julkaisuaika, tekijä, linkki ja saatavilla olevat tilastoarvot. Jätä puuttuva arvo tyhjäksi sen sijaan, että korvaisit sen nollalla.
- Vertaa otoksia. Yhdistä videot tunnisteen perusteella ja säilytä jokainen havainto erillisenä. Näin saat esiin arkistoon uusia julkaisuja ja havaittujen mittariarvojen väliset erot.
Valitse ensimmäiseen testiin kaksi tai kolme kyselyä ja pieni määrä tuloksia. Tarkista, vastaavatko kuvaukset ja tekijät käyttötarkoitusta, mitä kenttiä käytännössä palautuu ja kuinka samanlaisena otos säilyy samoilla asetuksilla. Laajenna termiluetteloa ja siirry ajastettuun käyttöön vasta tämän jälkeen.
Mitä TikTok Scraper APIlla voi pyytää
jsonscraperin virallisessa dokumentaatiossa reitti GET /searchVideo on tarkoitettu videoiden hakuun avainsanan perusteella. Pakollinen parametri on keyword. Dokumentoituja valinnaisia parametreja ovat muun muassa count, cursor, date_posted, sort_by, region ja cache_timeout. Dokumentaatiossa date_posted-arvoiksi mainitaan esimerkiksi this-week ja this-month, ja sort_by-arvoiksi relevance, most-liked ja date-posted. Parametrien tarkat nimet ja käyttötarkoitukset löytyvät TikTok API -reittien viiteoppaasta.
Palvelun perusosoite on https://tiktok.evelode.com; avain välitetään kyselyparametrina license_key. Alla olevassa esimerkissä avain tallennetaan ympäristömuuttujaan JSONSCRAPER_TIKTOK_LICENSE_KEY. Näin salaisuutta ei tarvitse sisällyttää lähdekoodiin eikä tulostaa suorituslokiin.
Vastausta on käsiteltävä sen sisäkkäinen rakenne huomioiden. Tarkista ensin ulompi status ja siirry sitten tiktok-objektiin. Hakutulosten lista voi olla kahdessa muodossa: videot voivat olla suoraan kohdassa tiktok.aweme_list tai tiktok.search_item_list-listan alkioiden sisällä kohdassa aweme_info. Hakuvastauksen aweme_list voi olla tyhjä, vaikka videoita olisi kohdassa search_item_list. Alla oleva skripti tukee kumpaakin muotoa.
Videon objektissa dokumentaatio ja tarkistettu esimerkkivastaus näyttävät kenttiä, kuten aweme_id, desc, create_time, share_url, tekijän tiedot ja statistics-objektin. Tilastot voivat sisältää katselu-, tykkäys-, kommentti- ja jakolaskurit. Tarkista kunkin vastauksen kentät ja niiden merkitykset: koodi jättää puuttuvat kentät tyhjiksi. Esimerkkireitti ja sen dokumentoidut parametrit ovat nähtävissä TikTok Scraper API -kuvauksessa.
Toimiva esimerkki Pythonilla
Esimerkki on tarkoitettu Python 3.8:lle ja sitä uudemmille versioille, ja se käyttää requests-pakettia. Asenna paketti komennolla python -m pip install requests. Tallenna koodi tiedostoon collect_tiktok.py, määritä avain ympäristömuuttujaan ja käynnistä skripti hakusanalla. Skripti luo data-hakemiston, tallentaa alkuperäisen JSON-vastauksen ja lisää normalisoidut havainnot CSV-tiedostoon.
import csv
import json
import os
import sys
from datetime import datetime, timezone
from pathlib import Path
from urllib.parse import urlparse
import requests
BASE_URL = "https://tiktok.evelode.com"
ARCHIVE = Path("data/raw")
OUT_CSV = Path("data/observations.csv")
def get_videos(tiktok):
"""Kerää videot searchVideo-vastauksen vahvistetuista vaihtoehdoista."""
videos = []
aweme_list = tiktok.get("aweme_list") or []
if isinstance(aweme_list, list):
videos.extend(item for item in aweme_list if isinstance(item, dict))
search_items = tiktok.get("search_item_list") or []
if isinstance(search_items, list):
for item in search_items:
if not isinstance(item, dict):
continue
aweme_info = item.get("aweme_info")
if isinstance(aweme_info, dict):
videos.append(aweme_info)
# Poista kaksoiskappaleet, säilytä järjestys ja tunnisteettomat tietueet.
result = []
seen = set()
for video in videos:
video_id = video.get("aweme_id")
if video_id and video_id in seen:
continue
if video_id:
seen.add(video_id)
result.append(video)
return result
def fetch(keyword, count=20, region="US"):
license_key = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
if not license_key:
raise RuntimeError("Aseta JSONSCRAPER_TIKTOK_LICENSE_KEY ympäristömuuttujaan")
params = {
"license_key": license_key,
"keyword": keyword,
"count": count,
"region": region,
"sort_by": "relevance",
}
response = requests.get(
f"{BASE_URL}/searchVideo", params=params, timeout=60
)
response.raise_for_status()
payload = response.json()
if payload.get("status") != "ok":
raise RuntimeError("TikTok API palautti muun kuin ok-tilan")
tiktok = payload.get("tiktok")
if not isinstance(tiktok, dict):
raise RuntimeError("Vastauksessa ei ole TikTok-tulosobjektia")
return payload, tiktok
def write_rows(keyword, videos, collected_at):
OUT_CSV.parent.mkdir(parents=True, exist_ok=True)
fields = [
"collected_at", "keyword", "aweme_id", "create_time",
"author_id", "author_name", "author_username", "description",
"share_url", "play_count", "digg_count", "comment_count",
"share_count", "collect_count",
]
write_header = not OUT_CSV.exists()
with OUT_CSV.open("a", newline="", encoding="utf-8") as file:
writer = csv.DictWriter(file, fieldnames=fields)
if write_header:
writer.writeheader()
for video in videos:
author = video.get("author") or {}
stats = video.get("statistics") or {}
writer.writerow({
"collected_at": collected_at,
"keyword": keyword,
"aweme_id": video.get("aweme_id"),
"create_time": video.get("create_time"),
"author_id": author.get("uid"),
"author_name": author.get("nickname"),
"author_username": author.get("unique_id"),
"description": video.get("desc"),
"share_url": video.get("share_url"),
"play_count": stats.get("play_count"),
"digg_count": stats.get("digg_count"),
"comment_count": stats.get("comment_count"),
"share_count": stats.get("share_count"),
"collect_count": stats.get("collect_count"),
})
def main():
if len(sys.argv) <
Välitä avain ympäristömuuttujan kautta. Bash-komento nykyistä istuntoa varten näyttää tältä:
export JSONSCRAPER_TIKTOK_LICENSE_KEY="avaimesi"
python collect_tiktok.py "meal prep"
Windows PowerShellissa muuttujan voi asettaa nykyiselle prosessille komennolla $env:JSONSCRAPER_TIKTOK_LICENSE_KEY="avaimesi", minkä jälkeen voidaan käynnistää sama Python-tiedosto. Älä lisää avainta repositorioon, CSV-tiedostoon, vastausarkistoon tai virheilmoituksiin. Koska API ottaa avaimen vastaan kyselyparametrina, huomioi, että koko pyyntö-URL voi päätyä HTTP-asiakkaan ja infrastruktuurin lokeihin; määritä lokitus niin, että salaisuudet rajataan pois.
Koodin lukeminen ja tulosten tarkistaminen
fetch-funktio välittää dokumentoidut parametrit ja tarkistaa HTTP-tilan, ulomman tilan ja tiktok-objektin olemassaolon. Se ei käsittele jokaista kelvollista vastausrunkoa onnistuneena tuloksena: jos muoto poikkeaa odotetusta, suoritus pysähtyy selkeään virheeseen. Näin tyhjä hakutulos on helpompi erottaa käyttöoikeusongelmasta tai muuttuneesta tietorakenteesta.
get_videos-funktio yhdistää suoran aweme_list-listan alkiot ja kohdassa search_item_list[].aweme_info sisäkkäiset tietueet. Sen jälkeen se poistaa aweme_id-tunnisteen perusteella kaksoiskappaleet, sillä video voi esiintyä molemmissa kokoelmissa. Jos tunniste puuttuu, tietue säilytetään; näin alkuperäistä tulosta voi tutkia keksimättä puuttuvaa arvoa.
Normalisoinnissa sisäkkäiset objektit haetaan turvallisesti. Tekijän tai tilastojen tiedot voivat puuttua, joten koodi käyttää tyhjää objektia ennen kenttien lukemista. CSV-tiedoston vastaavat solut jäävät tällöin tyhjiksi. Ero on tärkeä: tyhjä solu tarkoittaa, ettei arvoa saatu kyseisessä havainnossa, kun taas nolla on API:n todella palauttama lukuarvo.
Arkisto tallentaa jokaiselle kyselylle oman JSON-tiedoston. Tiedostonimessä on UTC-aika ja siistitty versio hakusanasta. CSV sisältää analyysia varten litteät tietueet, ja alkuperäinen JSON säilyy uusien kenttien selvittämisen tai uudelleenkäsittelyn lähteenä. Tämä kaksoisformaatti sopii sekä paikalliseen prototyyppiin että myöhempään tietokantaan tai objektitallennukseen siirtymiseen.
Tarkista ensimmäisen ajon jälkeen JSON-tiedostosta, että status on ok, että vastauksessa on tiktok-objekti ja että jommassakummassa tai molemmissa tuetuissa kokoelmissa on alkioita. Vertaa sitten muutamaa CSV-arvoa alkuperäiseen objektiin. Tarkista erityisesti, etteivät laskurit muutu virheellisiksi merkkijonoiksi, julkaisupäivät säilyvät alkuperäisinä arvoina ja linkit kuuluvat samoille videoille kuin tunnisteet.
Jos kelvollinen vastaus ei sisällä videoita, tallenna se tyhjänä ajotuloksena äläkä käsittele sitä koodivirheenä. Jos ulompi tila tai HTTP-vastaus ilmaisee virheen, älä lisää tietuetta analyysihavaintoihin: selvitä ensin syy ja käynnistä ajo uudelleen. Tuotantoprosessissa kannattaa myös tallentaa HTTP-koodi, hakusana, aika ja lyhyt virheviesti, mutta ei avainta eikä salaisuuden sisältävää koko URL-osoitetta.
Sivutus ja keruun toistettavuus
Haku tukee tulosten selaamiseen tarkoitettua cursor-parametria. Jos haluat hakea seuraavan sivun, poimi kursori edellisestä vastauksesta ja välitä se sellaisenaan. Kursori on API:n läpinäkymätön arvo: sovelluksen tulee tallentaa ja palauttaa se muuttamatta, eikä sitä pidä laskea rivimäärästä tai tulkita sivunumeroksi.
Alkuvaiheen seurannassa voi riittää yksi kysely kutakin avainsanaa kohti ja sama count-arvo joka kerta. Tulkinta on tällöin yksinkertaisempi: tiimi tietää, että jokainen ajo tallentaa rajatun hakutulosotoksen. Jos lisäät sivutuksen, tallenna jokainen sivu ja kursori sekä määritä sivujen enimmäismäärä yhtä ajoa varten. Näin tehtävä ei päädy loputtomaan silmukkaan odottamattoman vastauksen vuoksi.
date_posted-parametrilla haun voi rajata johonkin dokumentaatiossa luetelluista ajanjaksoista; sort_by-parametrilla voi valita lajittelun relevanssin, julkaisupäivän tai tykkäysten perusteella. Tallenna asetukset ajon yhteyteen dynamiikan analysointia varten. Eri aikaväleillä tai lajitteluasetuksilla tehtyjen hakujen vertailu voi kuvastaa hakuolosuhteiden eikä itse aiheen muutosta.
cache_timeout-parametri ohjaa vastauksen välimuistia. Dokumentaation mukaan välimuistin oletusaika on 3 600 sekuntia ja arvo 0 poistaa välimuistituksen käytöstä. Valitse asetukset ajastettua seurantaa varten harkiten ja tallenna ne asetuksiin. Jos kyselysarja käynnistetään useammin kuin tunnin välein ja vastaukset on erotettava tämän aikaikkunan sisällä, tarkista välimuistin toiminta erikseen ennen kuin tulkitset toistuvat tulokset muutosten puuttumiseksi.
Päivittäisten havaintojen vertailu
CSV sisältää jo yksinkertaisen raportin perustiedot. Ryhmittele rivit hakusanan ja aweme_id-tunnisteen perusteella, lajittele ne collected_at-arvon mukaan ja vertaa vain havaintopareja, joissa molempien mittariarvot ovat olemassa. Katselukertojen erotuksen voi laskea esimerkiksi vähentämällä viimeistä havaintoa edeltävän arvon viimeisimmästä arvosta. Säilytä molemmat alkuperäiset pisteet: tuloksen ymmärtämiseksi tarvitaan absoluuttinen ero ja havaintojen välinen aika.
Älä kutsu erotusta katselukertojen nopeudeksi, ellei aikaväliä ole määritelty. Jos yksi ajo tapahtui aamulla ja seuraava vasta useita päiviä myöhemmin, arvo kuvaa kertynyttä muutosta tältä ajalta. Vertailukelpoisen vauhdin voi laskea jakamalla erotuksen havaintojen todellisella aikaerolla, mutta tulos on silti kahden otoksen välinen keskimääräinen vauhti, ei jatkuva telemetriatieto.
Laske erikseen kahdenlaisia signaaleja. Ensimmäinen on nykyisessä hakutuloksessa esiintyvät uudet tunnisteet. Toinen on jo seurattujen videoiden tilastojen muutos. Uusi video voi olla tarkistamisen arvoinen ehdokas katselukertojen määrästä riippumatta, kun taas vanhan videon kasvavat luvut auttavat huomaamaan, että julkaisu kerää edelleen reaktioita. Nämä signaalit vastaavat eri kysymyksiin ja palvelevat eri toimituksellisen suunnittelun tilanteita.
Lisää yksinkertaisia datan laatutarkistuksia: kuinka suurella osuudella riveistä on tunniste, kuinka suurella osuudella kuvaus, onko keräyspäivä tallennettu, montako yksilöllistä videota kullakin kyselyllä on ja kuinka moni tilastotieto puuttuu. Näin huomaat putken rakenteen muuttuneen ennen kuin tiimi tekee päätelmiä puutteellisen tiedoston perusteella. Samalla näet, mitkä hakulauseet tuottavat toimialallesi hyödyllisiä otoksia.
Ensimmäiseen raporttiin riittää taulukko, jossa on sarakkeet termille, tunnisteelle, julkaisupäivälle, tekijälle, kuvaukselle, linkille, nykyisille katselukerroille, edellisen otoksen katselukerroille, erotukselle ja otosten väliselle ajalle. Lisää ”uusi arkistossa” -merkintä ja kenttä toimitukselliselle arviolle. Työntekijä voi merkitä aiheen sopivuutta brändille, formaatin toimivuutta ja mahdollista riskiä kopioida toisen ideaa – API ei arvioi näitä itse.
Älä sekoita videon suosiota aiheen hyödyllisyyteen
Katselukerrat, tykkäykset, kommentit ja jaot kuvaavat videon julkista vastaanottoa. Sisältösuunnittelussa tärkeää on myös itse teksti: kysymyksen muotoilu, alun lupaus, selityksen toistuva rakenne tai esittelytapa. Välitä siis toimittajalle linkki ja kuvaus mittareiden ohella; yksittäinen luku harvoin selittää, miksi julkaisu toimi.
Useita videoita vertaillessa voi laskea vuorovaikutusten suhteen katselukertoihin, jos molemmat laskurit ovat saatavilla. Esimerkiksi tykkäysten, kommenttien ja jakojen summa jaettuna katselukertojen määrällä antaa yksinkertaisen mittarin havaittujen reaktioiden osuudelle. Kirjaa kaava äläkä sekoita mukaan videoita, joiden arvot puuttuvat, sillä muuten tuloksista tulee vertailukelvottomia. Tämä suhdeluku kuvaa vain valittuja julkisia laskureita ja videoita.
Älä laske useiden otosten mittareita yhteen ikään kuin ne olisivat toisistaan riippumattomia tapahtumia. Jos sama video esiintyy viidessä päivittäisessä vastauksessa, sen katselukerrat riveillä ovat saman laskurin peräkkäisiä tiloja, eivät viisi eri yleisöä. Kun lasket ainutkertaisten julkaisujen summia, käytä kullekin videolle yhtä yhtenäisesti valittua havaintoa, esimerkiksi raportointijakson viimeistä otosta, ja dokumentoi valintasääntö.
Kuvausten toistuvien sanojen tarkastelu on toinen hyödyllinen näkökulma. Yksinkertainen tekstianalyysi voi ryhmitellä julkaisuja ennalta määriteltyjen sanastojen avulla: ”resepti”, ”arvostelu”, ”ennen ja jälkeen”, ”virhe” tai ”vinkki”. Luokitin tai kielimalli voi ehdottaa kategorioita ja lyhyitä yhteenvetoja, mutta taulukossa kannattaa säilyttää alkuperäinen kuvaus ja URL-osoite, jotta toimittaja voi tarkistaa tulkinnan itse videosta.
Automatisointi aikataululla
Kun manuaalinen ajo on tarkistettu, siirrä keruu ajastimeen: omalla palvelimella toimivaan croniin, GitHub Actionsiin tai n8n/Make-työnkulkuun. Integraation tulee käynnistää sama testattu skripti, välittää avain salaisuuksien hallintapalvelusta, arkistoida JSON ja lähettää ilmoitus vain onnistuneen suorituksen jälkeen. Ajastimen toteutus riippuu infrastruktuurista; API-kutsu ja käsittelymuoto pysyvät samoina.
Esimerkki cron-aikataulusta päivittäiselle käynnistykselle koneen paikallista aikaa kello 8.15:
15 8 * * * cd /srv/tiktok-monitor && /usr/bin/python3 collect_tiktok.py "meal prep" >> logs/collector.log 2>&1
Määritä ennen rivin käyttöönottoa ympäristömuuttuja siinä palvelussa tai komentotulkissa, jossa cron toimii, ja varmista koneen aikavyöhyke. Jos avainsanoja on useita, tallenna luettelo tiedostoon ja anna skriptille jokainen kysely erillisenä ajona. Näin yhden kyselyn virheen ei tarvitse keskeyttää koko joukkoa, ja arkistoja on helpompi vertailla.
Kun avainsanoja tulee lisää, siirrä asetukset JSON- tai YAML-tiedostoon ja lisää ajolokiin tila, vastaanotettujen videoiden määrä ja arkiston polku. Luotettavuutta parantavat myös rajattu määrä yrityksiä tilapäisten verkkovirheiden yhteydessä, aikakatkaisu ja HTTP-virheiden erillinen käsittely. Pyyntöjä ei pidä yrittää loputtomasti: tehtävän on päätyttävä näkyvään tilaan, jotta seuraava ajo ei peitä ongelmaa.
Jos tulosten pitää päätyä Google Sheetiin, tietokantaan tai sisäiseen hallintapaneeliin, lisää siirto vasta luotettavan arkistoinnin jälkeen. Tallenna ensin alkuperäinen vastaus ja siirrä vasta sitten normalisoidut rivit; jos vienti epäonnistuu, voit yrittää latausta uudelleen arkistosta ilman uutta tiedonkeruuta. Videon tunniste ja keräysaika auttavat järjestämään toistettavan lisäyksen ja erottamaan uuden otoksen vanhasta.
Tekoälyn hyödyllinen rooli on lajittelu, ei lähteen korvaaminen
Kun arkistoon kertyy paljon kuvauksia, malli voi auttaa ryhmittelemään videoita aiheittain, nostamaan esiin toistuvia ilmauksia ja laatimaan toimittajalle lyhyitä selityksiä. Anna mallille rajattu joukko kenttiä: hakusana, kuvaus, julkaisupäivä ja julkiset laskurit. Pyydä palauttamaan rakenteisia kategorioita ja lyhyt perustelu, ei varmoja väitteitä suosion syistä, joita aineistosta ei voi päätellä.
Tallenna mallin tulos omiin sarakkeisiinsa, esimerkiksi ai_topic, summary ja review_status. Älä korvaa alkuperäistä kuvausta tai API:n arvoja. Jos ohjetta tai mallia muutetaan, käsittelyn on oltava mahdollista tallennetuilla tietueilla; siksi kannattaa tallentaa kehotteen versio ja luokittelupäivä.
Käytännöllinen tehtävä mallille on ehdottaa toimittajalle aiheklustereita, kuten ”lyhyet reseptit”, ”laitteiden vertailu” ja ”aloittelijoiden virheet”. Analyytikko tarkistaa sitten klustereista muutaman esimerkin linkkien avulla ja korjaa sanastoa. Näin ihminen pysyy mukana: tekoäly helpottaa aineiston selaamista, mutta alkuperäiset tarkistettavat havainnot pysyvät saatavilla.
Älä pyydä mallia päättelemään pienestä hakutulosotoksesta itsenäisesti syy-yhteyttä formaatin ja näkyvyyden välille. Tällaiseen päätelmään tarvitaan ennalta määritetty menetelmä, vertailukelpoisia julkaisuja ja lisätietoja. Toimitustyössä riittävät ehdokkaiden järjestäminen katselua varten, hypoteesit toistuvista aiheista ja linkkiluettelo manuaaliseen tarkasteluun.
Otoksen laatu ja päätelmien rajat
Putki tallentaa annetuin kyselyin ja asetuksin saadut vastaukset. Se auttaa vertailemaan näitä havaintoja, mutta haun kattavuus on rajattu tiettyyn kyselyyn, keruuhetkeen, asetuksiin ja palvelun vastaukseen. Muotoile päätelmät siksi täsmällisesti: ”tämän viikon otoksissa aihe Y esiintyi useammin kyselyn X tuloksissa” sen sijaan, että sanoisit ”TikTokissa puhutaan nyt kaikkialla aiheesta Y”.
Vertaa vain samalla tavalla määritettyjä aikasarjoja: sama alue, samat lajitteluasetukset, julkaisuaika ja pyydettyjen tulosten määrä. Jos muutat kyselyä tai suodatinta, merkitse se uudeksi sarjaksi. Kausivaihtelun tai kampanjan analyysissa kannattaa tallentaa asetusten versio; muuten lähtötietojen muutos näyttää sisältömuutokselta.
Julkiset mittarit voivat päivittyä otosten välillä, ja videoiden ikä vaihtelee: vastikään julkaistu ja vanha video ovat reaktioiden kertymisen eri vaiheissa. Huomioi julkaisupäivä ja havaintoväli, kun vertailet tehokkuutta. Vertaa keskenään suunnilleen samanikäisiä julkaisuja tai analysoi saman tunnisteen kehitystä peräkkäisissä otoksissa.
Jos hanke liittyy kilpailijoihin tai tekijöihin, rajaa keruu tehtävään ja välttämättömiin tietoihin. Älä kerää arkaluonteisia tietoja äläkä käytä julkisia mittareita tekijän henkilökohtaiseen arviointiin. Markkinointitiimin raporttiin riittävät yleensä linkki, kuvaus, profiilin nimi, julkaisuaika ja kootut mittarit. Tarkista ennen automatisointia sovellettavat alustan käyttöehdot, organisaatiosi vaatimukset ja tietojen säilytyssäännöt.
Käytännön tarkistuslista ennen käynnistystä
- Määritä liiketoimintakysymys: mitä aiheita, formaatteja tai julkaisuja haluat havaita.
- Aloita muutamalla vakaalla hakulauseella ja kirjaa niiden kirjoitusasu.
- Tarkista reitti
/searchVideo, pakollinenkeywordja muut parametrit dokumentaatiosta. - Säilytä avain ympäristömuuttujassa ja rajaa se pois tulosteista, lokeista ja repositoriosta.
- Tarkista vastauksen ulompi tila ja
tiktok-objektin olemassaolo. - Käsittele sekä
aweme_listettäsearch_item_list[].aweme_info. - Tallenna raaka JSON ennen normalisointia.
- Jätä puuttuvat kentät tyhjiksi äläkä korvaa niitä nollilla.
- Yhdistä julkaisut
aweme_id-tunnisteella ja välitä kursori muuttamatta. - Kirjaa jokaisen otoksen keruupäivä ja hakuasetukset.
- Tarkista muutama video manuaalisesti ennen päätelmien tekemistä tai tulosten antamista mallille.
Mitä lopputuloksena syntyy
Asetusten jälkeen tiimillä on toistettava prosessi: avainsanakyselyt käynnistyvät aikataulun mukaan, jokainen vastaus tallentuu alkuperäisenä JSON-tiedostona ja normalisoidut havainnot lisätään CSV-tiedostoon. Analyytikko voi nähdä arkistoon uudet videot, palata niiden linkkeihin ja kuvauksiin, vertailla saatavilla olevia julkisia laskureita otosten välillä ja muodostaa aiheklustereita.
Toimittaja ei saa tulokseksi automaattista tuomiota ”päivän suurimmasta trendistä” vaan lyhyen luettelon tarkistettavista ehdokkaista: uusia julkaisuja, videoita, joiden mittarit ovat muuttuneet huomattavasti, sekä toistuvia aiheilmauksia. Tämä lyhentää matkaa manuaalisesta hausta aiheen käsittelyyn ja tarjoaa päätöksille todennettavan perustan sille, mitä kannattaa lisätä sisältösuunnitelmaan.
Voit aloittaa yhdellä kyselyllä, päivittäisellä paikallisella ajolla ja CSV-tiedostolla. Kun tarkistus osoittaa otoksen vastaavan käyttötarkoitusta, lisää ajastus, tietokanta tai kuvausten luokittelu. Reittien dokumentoidut parametrit ja käyttötarkoitukset voi tarkistaa TikTok API -dokumentaatiosta, ja käyttöoikeuksia sekä tuotetta koskevat tiedot löytyvät TikTok Scraper API jsonscraperin sivulta.