jsonscraper
Marknader
Tillbaka till journalen

Så hittar du TikTok-videor med frågor om din produkt och samlar dem i en rapport

Ett steg-för-steg-skript i Python samlar in hittade videor, sparar reaktionssiffror och lyfter fram beskrivningar för manuell granskning eller ämnesklassificering.

Redaktionella riktlinjer Rapportera ett fel

Om kunder diskuterar din produkt på TikTok kan en sökning på varumärket ge teamet underlag för en lista över återkommande frågor. Det praktiska resultatet är en CSV-fil med videobeskrivning, skapare, länk och tillgängliga reaktionssiffror. Filen kan lämnas till supportpersonal eller användas som indata för ämnesklassificering.

Artikel: Så hittar du TikTok-videor med frågor om din produkt och samlar dem i en rapport
Sammanfattning: En sökning på ett varumärke hjälper dig att hitta offentliga TikTok-videor där personer ställer frågor om en produkt i beskrivningen. Vi visar hur du hämtar resultaten med jsonscraper, hanterar två svarformat och exporterar rader till CSV för support- eller marknadsföringsteamet.
Bildens roll: omslag – huvudidén
Avsnitt: 
Visuellt motiv: Redaktionellt stilleben: en liten kaffemaskin för hemmet bredvid tryckta kort r
Exempel på hur hittade produktomnämnanden blir verifierbara ämnen för en FAQ.© jsonscraper · AI-genererad

Vi utgår från frågan ”hur använder man kaffemaskinen Acme?”. Skriptet nedan gör en sökning på TikTok, hämtar videor från två dokumenterade varianter av svarstrukturen och sparar resultaten. Därefter granskar teamet beskrivningarna manuellt, slår ihop liknande formuleringar och omvandlar dem till FAQ-ämnen eller tips för produktsidan.

Varför göra om sökresultaten till en tabell?

Det är svårt att granska sökresultat manuellt på nytt: man måste leta upp resultaten igen, och anteckningar blir ofta kvar i webbläsaren eller en chatt. En sparad tabell ger en gemensam arbetslista där varje post har ett video-ID, en länk, en beskrivning, en skapare och tillgängliga mätvärden. En ny körning kan schemaläggas, och ett JSON-arkiv gör det möjligt att ta reda på exakt vad API:et returnerade vid en viss körning.

Det är viktigt att känna till metodens begränsning: sökningen returnerar träffar för frågan, inte en garanterat komplett katalog över alla omnämnanden. Tabellen passar därför för att hitta exempel och följa återkommande frågor. Slutsatser om frekvens bör stödjas av upprepade körningar och manuell granskning.

Vad sökningen returnerar

Enligt dokumentationen för TikTok Scraper API tar sökvägen /searchVideo emot den obligatoriska parametern keyword. Bland parametrarna som också stöds finns count, cursor, date_posted, sort_by och region. För det här exemplet räcker det med en sökterm och ett antal resultat.

Svaret innehåller en övergripande status och objektet tiktok. I det verifierade schemat kan videor finnas i aweme_list eller i posterna i search_item_list under fältet aweme_info. Koden hanterar båda formerna och hämtar bara fält som faktiskt finns. Beroende på resultatet kan posten innehålla video-ID, beskrivning, länk, skaparens namn och ID, publiceringsdatum samt antal visningar, gilla-markeringar, kommentarer och delningar.

En enkel insamlare i Python

Installera biblioteket för HTTP-förfrågningar och ange nyckeln i miljövariabeln JSONSCRAPER_TIKTOK_LICENSE_KEY. Koden fungerar med Python 3.8 eller senare. Den sparar det ursprungliga svaret i JSON och normaliserade rader i CSV. Hemligheten skickas med förfrågan men skrivs inte ut på skärmen.

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 returnerade en oväntad övergripande 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)

# Ta bort dubbletter och behåll den första förekomsten.
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"Sparade rader: {len(unique)}")

Installera beroendet med kommandot python -m pip install requests. Om ett fält saknas i en viss post lämnar koden motsvarande cell tom. Det är särskilt viktigt för mätvärden: ett tomt värde betyder att fältet inte fanns i svaret och ersätts inte med noll.

Så gör du CSV-filen till en användbar frågelista

Det första steget är att filtrera beskrivningarna efter innehåll. Du kan söka efter ord som ”hur”, ”varför”, ”fungerar inte”, modellnamnet och vanliga benämningar på delar. Filtret skapar en kö för redaktionell granskning, men avgör inte i sig vad skaparen menade: ett varumärkesomnämnande kan vara en recension, ett skämt eller en fråga om kompatibilitet.

Om du grupperar innehållet efter ämne kan du skicka en klassificerare endast de textfält som behövs: beskrivningen och, om uppgiften kräver det, en avidentifierad postidentifierare. Be den returnera fasta kategorier, till exempel ”första start”, ”rengöring”, ”kompatibilitet”, ”fel” och ”köp”. Spara originalbeskrivningen tillsammans med kategorin så att en medarbetare kan kontrollera klassificeringen och rätta eventuella misstag.

En arbetsrapport kan innehålla ämne, antal hittade exempel, länkar till några illustrativa videor och en separat kolumn för ”granskad av människa”. Antalet exempel i den insamlade mängden beskriver resultaten för just den sökningen och insamlingsperioden; det motsvarar inte andelen av alla kunder som upplever problemet.

Sidnumrering och regelbundna körningar

Om du behöver nästa resultatsida anger dokumentationen cursor som parameter för sidnavigering: skicka vidare cursorn från det föregående svaret i nästa förfrågan. Behandla den som en ogenomskinlig token och avsluta genomgången när svaret inte längre innehåller resultat eller API:et meddelar att det inte finns någon nästa sida. För en avgränsad pilot är det rimligt att börja med en enda sökning, kontrollera resultatens sammansättning och först därefter lägga till sidnavigering.

Om insamlingen ska ske regelbundet kan du schemalägga skriptet med operativsystemets schemaläggare eller CI. Spara en separat JSON-fil för varje körning och lägg till insamlingstid i tabellen. När historiken växer kan du deduplicera poster med video-ID, men spara upprepade ögonblicksbilder separat om du vill följa hur mätvärden förändras. Det är bara meningsfullt att jämföra mätvärden om det finns flera ögonblicksbilder av samma post.

Förvara nyckeln i CI-systemets hemlighetshanterare eller som en miljövariabel, begränsa åtkomsten till arkivet och ange en intern lagringstid. Kontrollera vilka fält som klassificeringssystemet faktiskt behöver innan du överför material. Det minskar onödig kopiering av användardata och förenklar åtkomstkontrollen.

Vilket resultat får teamet?

Efter körningen har du ett arkiv med det ursprungliga svaret och en CSV-fil med hittade videor och tillgängliga fält. Supportteamet kan kontrollera länkar och samla återkommande frågor; marknadsföringsteamet kan se hur målgruppen beskriver sina behov; analytikern kan upprepa insamlingen och jämföra observationer från olika datum.

Artikel: Så hittar du TikTok-videor med frågor om din produkt och samlar dem i en rapport
Sammanfattning: En sökning på ett varumärke hjälper dig att hitta offentliga TikTok-videor där personer ställer frågor om en produkt i beskrivningen. Vi visar hur du hämtar resultaten med jsonscraper, hanterar två svarformat och exporterar rader till CSV för support- eller marknadsföringsteamet.
Bildens roll: kompletterande illustration 2 – en annan specifik aspekt
Avsnitt: Vilket resultat får teamet?
Visuellt motiv: Tydlig infografik
Insamlingsflöde: två JSON-strukturer sammanförs i deduplicering, arkivering och en tabell för granskning.© jsonscraper · AI-genererad illustration

Börja med en avgränsad sökning på produktnamnet och ett specifikt problem, granska 20–30 poster manuellt och justera kategoriernas ordlista. Därefter kan du lägga till flera ämnessökningar, schemaläggning och export till ett kalkylblad eller en databas. Funktioner och parametrar beskrivs i beskrivningen av TikTok Scraper API; kontrollera den valda sökningen innan du bygger en bredare bevakning.

Personer

Inga personer listade för denna artikel ännu.

Fortsätt läsaSå skapar du en veckorapport om publikens reaktion på en produktlansering på TikTok
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