jsonscraper
שווקים
חזרה ליומן

איך למצוא סרטוני TikTok עם שאלות על המוצר שלכם ולרכז אותם בדוח

סקריפט Python שלב אחר שלב אוסף סרטונים שנמצאו, שומר מדדי מעורבות ומחלץ תיאורים לבדיקה ידנית או לסיווג לפי נושא.

מדיניות עריכה דיווח על שגיאה

אם לקוחות דנים במוצר שלכם ב-TikTok, חיפוש לפי שם המותג עשוי לספק לצוות חומר לרשימת שאלות חוזרות. התוצאה המעשית היא קובץ CSV עם תיאור הסרטון, שם היוצר, קישור ומדדי מעורבות זמינים. אפשר להעביר את הקובץ לאנשי התמיכה או להשתמש בו כקלט לסיווג לפי נושא.

מאמר: איך למצוא סרטוני TikTok עם שאלות על המוצר שלכם ולרכז אותם בדוח
תקציר: חיפוש לפי שם מותג מסייע לאסוף סרטוני TikTok ציבוריים שבהם אנשים שואלים על מוצר בתיאור. נראה כיצד לקבל תוצאות באמצעות jsonscraper, לטפל בשני מבני התשובה ולייצא שורות ל-CSV עבור צוותי התמיכה או השיווק.
תפקיד התמונה: תמונת שער — הרעיון המרכזי
מדור: 
נושא חזותי: טבע דומם עריכתי: מכונת קפה ביתית קטנה לצד כרטיסים מודפסים r
דוגמה לאופן שבו אזכורים שנמצאו על המוצר הופכים לנושאים שאפשר לבדוק ולהשתמש בהם ל-FAQ.© jsonscraper · נוצר באמצעות AI

לצורך הדוגמה נשתמש בשאלה „איך משתמשים במכונת הקפה Acme”. הסקריפט שלהלן מבצע בקשת חיפוש אחת ב-TikTok, מחלץ בזהירות סרטונים משני מבנים מתועדים של התשובה ושומר את התוצאות שנמצאו. לאחר מכן הצוות בודק ידנית את התיאורים, מאחד ניסוחים דומים והופך אותם לנושאי FAQ או להנחיות בכרטיס המוצר.

למה כדאי להפוך את החיפוש לטבלה

עיון ידני בתוצאות החיפוש מקשה על בדיקה חוזרת: צריך למצוא שוב את התוצאות, וההערות נשארות לעיתים קרובות בדפדפן או בהתכתבות. טבלה שנשמרת מספקת רשימת עבודה אחידה: לכל רשומה יש מזהה סרטון, קישור, תיאור, שם יוצר ומדדים זמינים. אפשר לשלב הרצה חוזרת בלוח זמנים, וארכיון JSON יכול לסייע להבין מה בדיוק החזיר ה-API בהרצה מסוימת.

חשוב להכיר את מגבלת השיטה: החיפוש מחזיר תוצאות שנמצאו עבור השאילתה, ולא קטלוג מלא ומובטח של כל האזכורים. לכן הטבלה מתאימה לגילוי דוגמאות ולעקיבה אחר שאלות חוזרות; כדי להסיק מסקנות על שכיחות, עדיף להיעזר בהרצות חוזרות ובבדיקה ידנית.

מה החיפוש מחזיר

בתיעוד TikTok Scraper API, נקודת הקצה /searchVideo מקבלת את הפרמטר החובה keyword. הפרמטרים הנתמכים כוללים גם את count, cursor, date_posted, sort_by ו-region. לצורך התרחיש הזה מספיקים מילות החיפוש ומספר התוצאות.

התשובה מכילה סטטוס חיצוני ואובייקט tiktok. במבנה שנבדק, הסרטונים עשויים להופיע ב-aweme_list או בפריטים של search_item_list שבתוך השדה aweme_info. הקוד מתחשב בשתי הצורות ומחלץ רק שדות שקיימים בפועל. בהתאם לתוצאה, עשויים להיות זמינים מזהה סרטון, תיאור, קישור, שם ומזהה היוצר, תאריך פרסום וכן מוני צפיות, לייקים, תגובות ושיתופים.

אוסף נתונים מינימלי ב-Python

התקינו את ספריית הבקשות והגדירו את המפתח במשתנה הסביבה JSONSCRAPER_TIKTOK_LICENSE_KEY. הקוד תואם ל-Python 3.8 ומעלה. הוא שומר את התשובה המקורית ב-JSON ואת הרשומות המנורמלות ב-CSV. הסוד מועבר לבקשה, אך אינו מוצג על המסך.

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 החזיר סטטוס חיצוני בלתי צפוי")

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)

# הסרת כפילויות תוך שמירה על סדר ההופעה הראשון.
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"מספר השורות שנשמרו: {len(unique)}")

אפשר להתקין את התלות באמצעות הפקודה python -m pip install requests. אם שדה חסר ברשומה מסוימת, הקוד משאיר את התא המתאים ריק. הדבר חשוב במיוחד למדדים: ערך ריק מציין שהשדה לא התקבל, ואינו מוחלף באפס.

איך להפוך CSV לרשימת שאלות שימושית

השלב הראשון הוא סינון לפי תוכן התיאור. אפשר לחפש מילים כגון „איך”, „למה”, „לא עובד”, את שם הדגם ושמות אופייניים של חלקים. המסנן הזה יוצר תור לבדיקה עריכתית, אך אינו קובע כשלעצמו מה הייתה כוונת היוצר: אזכור של מותג עשוי להיות ביקורת, בדיחה או שאלה על תאימות.

לצורך קיבוץ לפי נושאים, העבירו למסווג רק את שדות הטקסט הנחוצים: התיאור, ואם הדבר מתאים למשימה, מזהה רשומה שעבר הסרת פרטים מזהים. בקשו ממנו להחזיר קטגוריות קבועות, למשל „הפעלה ראשונה”, „ניקוי”, „תאימות”, „תקלה” ו„רכישה”. שמרו את התיאור המקורי לצד הקטגוריה כדי שעובד יוכל לבדוק את הסיווג ולתקן שגיאה.

דוח עבודה יכול לכלול נושא, מספר הדוגמאות שנמצאו, קישורים לכמה סרטונים מייצגים ועמודה נפרדת „נבדק בידי אדם”. מספר הדוגמאות במערך שנאסף מתאר את תוצאות השאילתה ואת תקופת האיסוף; הוא אינו שווה לשיעור כלל הלקוחות שחווים את הבעיה.

עימוד והרצה קבועה

אם דרוש עמוד התוצאות הבא, התיעוד מציין את cursor כפרמטר להמשך גלילה: העבירו לבקשה הבאה את ערך הסמן מהתשובה הקודמת. התייחסו אליו כאסימון אטום והפסיקו את המעבר כשהתשובה אינה מכילה תוצאות נוספות או כשה-API מודיע שאין עמוד נוסף. בפיילוט מוגבל, כדאי להתחיל בבקשה אחת, לבדוק את הרכב התוצאות ורק אז להוסיף עימוד.

כדי לבצע את האיסוף בקביעות, הריצו את הסקריפט לפי לוח זמנים באמצעות מתזמן מערכת ההפעלה או CI. שמרו JSON מקורי נפרד לכל הרצה והוסיפו לטבלה את מועד האיסוף. כשמצטברת היסטוריה, הסירו כפילויות לפי מזהה הסרטון, אך שמרו בנפרד צילומי מצב חוזרים אם המשימה כוללת מעקב אחר מדדים משתנים. השוואת מדדים שימושית רק כשיש כמה צילומי מצב של אותה רשומה.

שמרו את המפתח במנהל סודות של CI או במשתנה סביבה, הגבילו את הגישה לארכיון וקבעו תקופת שמירה פנימית. לפני העברת החומרים למערכת סיווג, בדקו אילו שדות היא באמת צריכה. כך מצמצמים העתקה מיותרת של נתוני משתמשים ומקלים על בקרת הגישה.

איזו תוצאה מקבל הצוות

לאחר ההרצה יהיו בידיכם ארכיון של התשובה המקורית וקובץ CSV עם הסרטונים שנמצאו והשדות הזמינים. צוות התמיכה יוכל לבדוק את הקישורים ולרכז שאלות שחוזרות על עצמן; צוות השיווק יוכל לראות באילו ניסוחים הקהל מתאר את הצורך; והאנליסט יוכל לחזור על האיסוף ולהשוות תצפיות מתאריכים שונים.

מאמר: איך למצוא סרטוני TikTok עם שאלות על המוצר שלכם ולרכז אותם בדוח
תקציר: חיפוש לפי שם מותג מסייע לאסוף סרטוני TikTok ציבוריים שבהם אנשים שואלים על מוצר בתיאור. נראה כיצד לקבל תוצאות באמצעות jsonscraper, לטפל בשני מבני התשובה ולייצא שורות ל-CSV עבור צוותי התמיכה או השיווק.
תפקיד התמונה: איור תומך 2 — היבט מסוים אחר
מדור: איזו תוצאה מקבל הצוות
נושא חזותי: אינפוגרפיקה ברורה
תרשים האיסוף: שני מבני JSON מתכנסים להסרת כפילויות, לארכיון ולטבלה לבדיקה.© jsonscraper · איור שנוצר באמצעות AI

כדי להתחיל, נסחו שאילתה ממוקדת עם שם המוצר ובעיה מסוימת, בדקו ידנית 20–30 רשומות שנמצאו ועדכנו את אוצר המילים של הקטגוריות. לאחר מכן אפשר להוסיף כמה שאילתות נושאיות, לוח זמנים וייצוא לטבלה או למסד נתונים. היכולות והפרמטרים של נקודת הקצה מפורטים בתיאור TikTok Scraper API; בדקו תחילה את השאילתה שבחרתם לפני שתבנו ניטור רחב יותר.

אֲנָשִׁים

עדיין לא רשומים אנשים עבור מאמר זה.

המשיכו לקרואאיך לבנות דוח שבועי על תגובת הקהל להשקת מוצר ב-TikTok
קרא את המאמר הבא

הפכו את מה שקראתם לאינטגרציה עובדת

גלו את ממשקי ה-API לנתונים חברתיים של jsonscraper, בדקו בקשות ובנו את תהליך העבודה הבא.

גלה API