jsonscraper
Rynki
Powrót do dziennika

Jak wykrywać powtarzające się pytania o produkt na TikToku

Zbierz publiczne filmy dla kilku zapytań, połącz wyniki i zamień znalezione sformułowania w kolejkę dla zespołu wsparcia lub zespołu treści.

Polityka redakcyjna Zgłoś błąd

Jeśli klienci zadają to samo pytanie w kilku filmach na TikToku, zespołowi wsparcia przyda się lista oryginalnych materiałów i sformułowań, które można zweryfikować. Można zacząć od zebrania wyników wyszukiwania dla kilku zapytań, połączenia ich według identyfikatora filmu i przekazania próbki do ręcznego oznaczenia.

Poniższy skrypt w Pythonie zbiera zwrócone wyniki i tworzy plik CSV z linkami, opisami filmów oraz frazami wyszukiwania, dla których znaleziono każdy film. Pomaga dostrzec nakładanie się wyników wyszukiwania, ale sam nie wykrywa pytań podobnych semantycznie. Tę decyzję podejmuje specjalista albo osobny klasyfikator, a następnie wynik jest weryfikowany.

Na jakie pytanie ma odpowiedzieć zbieranie danych

Załóżmy, że zespół sprzedaje kubek termiczny i chce sprawdzić, o czym mówi się w publicznych filmach. Zapytanie „kubek termiczny przecieka” może zwrócić filmy ze skargami, recenzjami i instrukcjami. Zapytanie „jak myć kubek termiczny” da inną próbkę. Kilka sformułowań tworzy zestaw przykładów do analizy przez zespół wsparcia i wykorzystania w planie treści.

Artykuł: Jak wykrywać powtarzające się pytania o produkt na TikToku
Podsumowanie: Pokazujemy, jak za pomocą TikTok Scraper API pobrać filmy dla kilku fraz wyszukiwania, wyodrębnić opisy i linki, usunąć duplikaty oraz przygotować próbkę do weryfikacji powtarzających się pytań — bez zastępowania brakujących metryk zerami.
Rola obrazu: okładka — główna idea
Sekcja: Na jakie pytanie ma odpowiedzieć zbieranie danych
Temat wizualny: Aranżacja redakcyjna przedstawiająca praktyczną, papierową mapę badania publicznych krótkich filmów: kilka linków do filmów
Linki do publikacji pozwalają sprawdzić kontekst i ręcznie pogrupować potwierdzone pytania.© jsonscraper · wygenerowano przez AI

Wynikiem działania skryptu jest tabela z identyfikatorem publikacji, opisem, linkiem i listą fraz wyszukiwania, dla których ją znaleziono. Pojawienie się filmu w kilku zestawach wyników wskazuje na ich nakładanie się, ale nie dowodzi jeszcze, że w filmie zadano powtarzające się pytanie. Aby utworzyć kolejkę pytań, otwórz linki, sprawdź kontekst i przypisz potwierdzonym sformułowaniom temat.

Proces przyda się programiście automatyzującemu zbieranie danych oraz analitykowi, który potrzebuje powtarzalnego zestawu do analizy. Odnośnik do oryginalnego filmu pozwala zweryfikować wniosek, zanim zmieni się instrukcję albo przygotuje nowy materiał.

Jakie dane zwraca wyszukiwanie

Trasa /searchVideo i jej parametry są wymienione w dokumentacji TikTok API. Obowiązkowy jest parametr keyword; wśród parametrów dodatkowych wymieniono count, cursor, region, date_posted, sort_by i cache_timeout. Żądanie jest uwierzytelniane za pomocą parametru license_key. Poniższy przykład używa frazy i rozmiaru strony.

W sprawdzonej strukturze odpowiedzi znajdują się najwyższego poziomu pole status oraz obiekt tiktok. Elementy mogą zawierać identyfikatory, opisy, linki, informacje o autorze i statystyki, w tym liczbę wyświetleń oraz komentarzy. Niektórych pól może brakować, dlatego w pliku CSV pozostają puste, zamiast przyjmować wartość zero.

W odpowiedzi wyszukiwania obsługiwane są dwie struktury: elementy mogą znajdować się w aweme_list albo wewnątrz search_item_list[].aweme_info. Normalizator obsługuje oba warianty. Kod sprawdza też obecność obiektu tiktok, aby nie uznać nieoczekiwanej struktury odpowiedzi za pomyślny, pusty wynik wyszukiwania.

Gotowy skrypt zbierający dane w Pythonie

Przykład działa z Pythonem 3.8+ i biblioteką requests. Wysyła jedno żądanie dla każdej frazy, sprawdza odpowiedź HTTP i status API, łączy rekordy według identyfikatora, zapisuje dopasowane frazy wyszukiwania i tworzy plik CSV. Klucz jest odczytywany ze zmiennej środowiskowej i nie jest wyświetlany.

Artykuł: Jak wykrywać powtarzające się pytania o produkt na TikToku
Podsumowanie: Pokazujemy, jak za pomocą TikTok Scraper API pobrać filmy dla kilku fraz wyszukiwania, wyodrębnić opisy i linki, usunąć duplikaty oraz przygotować próbkę do weryfikacji powtarzających się pytań — bez zastępowania brakujących metryk zerami.
Rola obrazu: ilustracja uzupełniająca 2 — inny, konkretny aspekt
Sekcja: Gotowy skrypt zbierający dane w Pythonie
Temat wizualny: Infografika po polsku przedstawiająca zweryfikowane etapy procesu: trzy zapytania o słowa kluczowe
Schemat przedstawia dwie struktury elementów odpowiedzi wyszukiwania oraz normalizację danych do pliku CSV na potrzeby ręcznej weryfikacji.© jsonscraper · ilustracja wygenerowana przez AI
import csv
import os
import sys
import requests

BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
QUERIES = [
    "kubek termiczny przecieka",
    "jak myć kubek termiczny",
    "kubek termiczny nie utrzymuje ciepła",
]

if not KEY:
    sys.exit("Ustaw JSONSCRAPER_TIKTOK_LICENSE_KEY")

def extract_items(payload):
    data = payload.get("tiktok")
    if not isinstance(data, dict):
        raise RuntimeError("W odpowiedzi brakuje obiektu tiktok")

    items = list(data.get("aweme_list") or [])
    for entry in data.get("search_item_list") or []:
        video = entry.get("aweme_info") if isinstance(entry, dict) else None
        if isinstance(video, dict):
            items.append(video)
    return items

rows = {}

for query in QUERIES:
    response = requests.get(
        BASE_URL,
        params={"license_key": KEY, "keyword": query, "count": 20},
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("status") != "ok":
        raise RuntimeError("API zwróciło status inny niż ok")

    for item in extract_items(payload):
        video_id = item.get("aweme_id")
        if not video_id:
            continue
        stats = item.get("statistics") or {}
        author = item.get("author") or {}
        row = rows.setdefault(video_id, {
            "video_id": video_id,
            "description": item.get("desc"),
            "share_url": item.get("share_url"),
            "author": author.get("nickname"),
            "play_count": stats.get("play_count"),
            "comment_count": stats.get("comment_count"),
            "matched_queries": set(),
        })
        row["matched_queries"].add(query)

fields = ["video_id", "description", "share_url", "author",
          "play_count", "comment_count", "matched_queries"]
with open("tiktok_questions.csv", "w", newline="", encoding="utf-8-sig") as file:
    writer = csv.DictWriter(file, fieldnames=fields)
    writer.writeheader()
    for row in rows.values():
        output = dict(row)
        output["matched_queries"] = " | ".join(sorted(row["matched_queries"]))
        writer.writerow(output)

Zainstaluj zależność poleceniem python -m pip install requests, ustaw JSONSCRAPER_TIKTOK_LICENSE_KEY w środowisku procesu i uruchom plik. Nie umieszczaj klucza w kodzie źródłowym, pliku CSV ani logach. Jeśli chcesz uruchamiać skrypt cyklicznie, użyj bezpiecznego środowiska, w którym zmienna jest dostępna dla zadania.

Jak zamienić plik CSV w kolejkę pytań

Po zebraniu danych otwórz filmy i ręcznie wyodrębnij faktyczne pytania, a następnie pogrupuj potwierdzone sformułowania według tematów, na przykład „szczelność”, „pielęgnacja” albo „utrzymywanie ciepła”. Fraza wyszukiwania pomaga znaleźć publikację, ale opis filmu i dopasowanie zapytań nie zastępują sprawdzenia kontekstu.

Jeśli korzystasz z modelu językowego, przekaż mu opis i poproś o zaproponowanie krótkiej etykiety tematu oraz możliwego pytania. Zachowaj obok tekst źródłowy, link i wynik modelu, aby specjalista mógł sprawdzić podstawy klasyfikacji. Nie przedstawiaj sformułowania zaproponowanego przez model jako dosłownego pytania, jeśli nie pojawia się ono w opisie.

Liczba znalezionych rekordów opisuje wyłącznie wyniki zwrócone dla konkretnych zapytań. Nie mierzy całkowitej skali dyskusji ani popytu. Na potrzeby raportu wewnętrznego zachowaj datę uruchomienia, oryginalną frazę, identyfikator i nieprzetworzoną odpowiedź API. Dzięki temu można porównywać wyniki kolejnych uruchomień i osobno oznaczać nowe identyfikatory.

Przykład celowo nie zawiera automatycznej paginacji. W dokumentacji dla kolejnych stron wskazano parametr cursor, którego wartość pobiera się z poprzedniej odpowiedzi i przekazuje dalej bez zmian. Jedna strona zawiera tylko pobraną porcję wyników, a nie całą listę.

Co zobaczy zespół

Plik tiktok_questions.csv zawiera po jednym wierszu dla każdego unikalnego identyfikatora znalezionego dla podanych fraz. Kolumna matched_queries pokazuje, dla których zapytań znaleziono dany film. To wygodny sposób na wyodrębnienie części wspólnych wyników i wybór przykładów do weryfikacji; klasyfikację pytań należy przeprowadzić osobno.

Następnie można włączyć plik CSV do cotygodniowej automatyzacji: harmonogram uruchamia zbieranie danych, magazyn zapisuje migawkę, a powiadomienie jest wysyłane, gdy pojawi się identyfikator, którego nie ma jeszcze w rejestrze. To logika zewnętrznej orkiestracji, a nie funkcja punktu końcowego wyszukiwania. Zespół otrzymuje kolejkę linków do analizy, a nie gotowy wniosek o przyczynach zachowań klientów.

Parametry tras opisano w dokumentacji API; żądanie można wypróbować na platformie demonstracyjnej TikTok API. Przed regularnym zbieraniem danych sprawdź rzeczywistą strukturę odpowiedzi i zachowuj wartości niezbędne do przejścia od podsumowania do konkretnego filmu. Opis produktu znajduje się na stronie TikTok Scraper API.

Przydatnym rezultatem jest możliwy do zweryfikowania zestaw filmów powiązanych z konkretnymi wyrażeniami wyszukiwania. Ułatwia wybór materiałów do ręcznej analizy i zachowanie źródeł dla każdego tematu uwzględnionego w planie treści.

Ludzie

Nie ma jeszcze żadnych osób na liście dla tego artykułu.

Czytaj dalejJak analizować tematy twórców TikToka: praktyczny pipeline w Pythonie
Przeczytaj następny artykuł

Zmień lekturę w działającą integrację

Poznaj API danych społecznościowych jsonscraper, testuj zapytania i buduj kolejne procesy.

Poznaj API