jsonscraper
الأسواق
العودة إلى المجلة

كيفية التحقق من الإفصاحات الإعلانية في TikTok عبر الفيديوهات العامة

يجمع سكربت Python الفيديوهات حسب عبارات البحث عن العلامة التجارية، ويرصد الصيغ الإعلانية الواضحة، ويحفظ قائمة لمراجعتها يدويًا

السياسة التحريرية الإبلاغ عن خطأ

لفرز فيديوهات TikTok العامة التي تذكر علامة تجارية وتتضمن صيغًا إعلانية واضحة، اجمع النتائج باستخدام عدة عبارات بحث، واستخرج الأوصاف، وارصد الكلمات الدالة. والنتيجة ملف CSV يضم الروابط والمؤشرات المتاحة، أي قائمة انتظار لمراجعتها بشريًا، لا استنتاجًا آليًا بشأن الامتثال للقواعد.

تفيد هذه العملية وكالةً تقارن حملةً بالموجز، أو فريقًا داخليًا يتابع قائمةً بالذكر العلني للعلامة التجارية. فهي تساعد على تنظيم نتائج البحث وتحفظ المؤشرات التي يستند إليها المحلل لتحديد المقاطع التي ينبغي فتحها ودراستها.

ما الذي ينبغي البحث عنه في الفيديو؟

في التحقق من الإعلانات، تهم صلة منشئ المحتوى بالعلامة التجارية وكيفية الإفصاح عنها إلى جانب التوصية. يوضح دليل FTC للمؤثرين أن العلاقة الجوهرية قد تكون مالية أو مهنية أو شخصية أو عائلية، وأن الإفصاح ينبغي أن يكون واضحًا ومفهومًا. وبالنسبة إلى التوصيات المصورة، تشير FTC إلى ضرورة وضع الإفصاح داخل الفيديو نفسه، لا في الوصف وحده. لذا يفيد الوصف في الفرز، لكنه لا يبيّن وحده ما شاهده الجمهور أو سمعه في المقطع.

مهمة هذا السكربت أضيق نطاقًا: العثور في نتائج البحث المُعادة على فيديوهات تتضمن أوصافها عبارات مرتبطة بالعلامة التجارية ومؤشرات محتملة مثل «إعلان» أو «راعٍ» أو «شراكة». وينبغي تكييف قاموس الكلمات مع لغة الحملة ومصطلحاتها. وإذا لم يظهر مؤشر في الوصف، فافتح المقطع وافحص محتواه؛ فالتطابق النصي لا يثبت وجود إفصاح داخل الفيديو نفسه.

كيف تحوّل نتائج البحث إلى قائمة انتظار للمراجعة؟

أعدّ قائمة قصيرة بعبارات البحث: اسم العلامة التجارية، واسم الحملة، والتهجئة الشائعة للمنتج. نفّذ كل استعلام على حدة، واحفظ نصه إلى جانب النتائج. وهكذا يستطيع الفريق معرفة الاستعلام الذي عُثر من خلاله على المقطع، وإعادة الجمع عند الحاجة.

مقال: كيفية التحقق من الإفصاحات الإعلانية في TikTok عبر الفيديوهات العامة
الملخص: تحتاج فرق التسويق غالبًا إلى فرز فيديوهات TikTok العامة التي تذكر علامة تجارية وقد تتضمن إفصاحات إعلانية. نوضح كيفية جمع نتائج API المُعادة، واستخراج الأوصاف والمقاييس المتاحة، ورصد كلمات واضحة مثل «إعلان» و«شراكة» تمهيدًا للمراجعة.
دور الصورة: رسم توضيحي داعم 2 — جانب محدد مختلف
القسم: كيف تحوّل نتائج البحث إلى قائمة انتظار للمراجعة؟
يوضح المخطط المسار من نتائج البحث إلى قائمة انتظار CSV ثم المراجعة اليدوية للإفصاح داخل الفيديو نفسه.© jsonscraper · رسم توضيحي مولّد بالذكاء الاصطناعي
مقال: كيفية التحقق من الإفصاحات الإعلانية في TikTok عبر الفيديوهات العامة
الملخص: تحتاج فرق التسويق غالبًا إلى فرز فيديوهات TikTok العامة التي تذكر علامة تجارية وقد تتضمن إفصاحات إعلانية. نوضح كيفية جمع نتائج API المُعادة، واستخراج الأوصاف والمقاييس المتاحة، ورصد كلمات واضحة مثل «إعلان» و«شراكة» تمهيدًا للمراجعة.
دور الصورة: الغلاف — الفكرة المحورية
القسم: كيف تحوّل نتائج البحث إلى قائمة انتظار للمراجعة؟
الموضوع البصري: معلومات روسية...
يوضح المخطط المسار من نتائج البحث إلى قائمة انتظار CSV ثم المراجعة اليدوية للإفصاح داخل الفيديو نفسه.© jsonscraper · مُنشأ بالذكاء الاصطناعي

يمكن استخدام TikTok Scraper API من jsonscraper لجمع البيانات. يقع المسار الموثق GET /searchVideo على العنوان https://tiktok.evelode.com، ويقبل المعلمات keyword وcount وdate_posted وsort_by وregion وcursor. وفي استجابة تمت ملاحظتها، تضمنت بيانات TikTok مقاطع الفيديو ضمن search_item_list[].aweme_info، بينما قد تكون aweme_list فارغة. ويتحقق المحلل أدناه من الموضعين.

يُمرر المفتاح في المعلمة license_key. احتفظ به في متغير بيئة، لا في السكربت أو المستودع. وتعرض وثائق مسارات TikTok أسماء معلمات البحث؛ ولجلب الصفحة التالية، استخدم قيمة cursor المُعادة. سجّل عدد العناصر التي عالجتها ونص استعلام البحث نفسه: تتيح الصفحات المتتابعة مواصلة النتائج، لكنها لا تثبت بمفردها اكتمال المجموعة.

مثال مختصر بلغة Python

ينفّذ السكربت استعلامًا واحدًا لكل عبارة، ويجمع صيغتي النتائج الموثقتين، ويحذف التكرارات استنادًا إلى معرّف الفيديو، ويرصد الكلمات في الوصف، ثم يكتب ملف CSV. ثبّت requests بالأمر python -m pip install requests، واضبط JSONSCRAPER_TIKTOK_LICENSE_KEY في البيئة، ثم شغّل الملف. المثال متوافق مع Python 3.8 والإصدارات الأحدث.

import csv
import os
import sys
import requests

BASE_URL = "https://tiktok.evelode.com/searchVideo"
KEY = os.environ.get("JSONSCRAPER_TIKTOK_LICENSE_KEY")
if not KEY:
    raise SystemExit("Set JSONSCRAPER_TIKTOK_LICENSE_KEY first")

QUERIES = ["Example Brand", "Example Product", "Example Campaign"]
MARKERS = ("#реклама", "реклама", "спонсор", "партнерство", "партнёрство", "#ad", "sponsored")


def videos_from(payload):
    data = payload.get("tiktok") or {}
    videos = data.get("aweme_list") or []
    if not videos:
        videos = [
            item.get("aweme_info")
            for item in (data.get("search_item_list") or [])
            if isinstance(item, dict) and isinstance(item.get("aweme_info"), dict)
        ]
    return [video for video in videos if isinstance(video, dict)]


rows = {}
for query in QUERIES:
    response = requests.get(
        BASE_URL,
        params={"keyword": query, "count": 20, "date_posted": "this-month", "license_key": KEY},
        timeout=30,
    )
    response.raise_for_status()
    payload = response.json()
    if payload.get("status") != "ok":
        print("Unexpected API status for query:", query, file=sys.stderr)
        continue

    for video in videos_from(payload):
        video_id = video.get("aweme_id")
        if not video_id:
            continue
        author = video.get("author") or {}
        stats = video.get("statistics") or {}
        caption = video.get("desc") or ""
        matched = [word for word in MARKERS if word in caption.casefold()]
        row = rows.setdefault(str(video_id), {
            "video_id": str(video_id),
            "url": video.get("share_url") or "",
            "author": author.get("unique_id") or author.get("nickname") or "",
            "caption": caption,
            "queries": set(),
            "disclosure_markers": set(),
            "play_count": stats.get("play_count"),
            "digg_count": stats.get("digg_count"),
            "comment_count": stats.get("comment_count"),
            "review_status": "manual_review",
        })
        row["queries"].add(query)
        row["disclosure_markers"].update(matched)

with open("tiktok_disclosure_review.csv", "w", newline="", encoding="utf-8-sig") as file:
    fields = ["video_id", "url", "author", "caption", "queries", "disclosure_markers",
              "play_count", "digg_count", "comment_count", "review_status"]
    writer = csv.DictWriter(file, fieldnames=fields)
    writer.writeheader()
    for row in rows.values():
        row["queries"] = " | ".join(sorted(row["queries"]))
        row["disclosure_markers"] = " | ".join(sorted(row["disclosure_markers"]))
        writer.writerow(row)

print("Saved", len(rows), "unique returned videos")

قبل حفظ الرمز، تحقّق من حالة الاستجابة الخارجية، ثم من البيانات داخل tiktok. يقرأ المطبّع موضعي مقاطع الفيديو كليهما. ويمكن تمرير قيمة cursor المُعادة دون تحويلها في الطلب التالي؛ لكن هذا المثال المختصر يقتصر عمدًا على صفحة واحدة لكل استعلام.

ماذا سيعرض ملف CSV؟

يربط كل صف معرّف الفيديو ورابطه، ومعرّف المؤلف المتاح، والوصف، وعبارات البحث، والمؤشرات المطابقة. وإذا تضمنت الاستجابة أعداد المشاهدات والإعجابات والتعليقات، فستُحفظ بوصفها سياقًا للمساعدة في تحديد ترتيب المراجعة. وقد لا تتوفر هذه الحقول؛ وعندئذ يتركها السكربت فارغة بدلًا من إدراج أصفار.

بعد ذلك، افتح المقطع وتحقق من وجود الإفصاح ووضوحه داخل الفيديو، وسجّل النتيجة وفق فئات متفق عليها، مثل «عُثر عليه» أو «يتطلب مراجعة إضافية» أو «لم يُعثر عليه أثناء المشاهدة». يبحث الرمز نفسه عن مؤشرات نصية مطابقة تمامًا في الوصف؛ ولا يفحص الصورة أو الصوت، ولا يتخذ قرارًا بشأن الامتثال للقواعد.

لإجراء منتظم، شغّل الجمع وفق جدول زمني، وسجّل وقت الطلب، واحفظ JSON الأصلي مع ملف CSV. واقصر قائمة الاستعلامات على العبارات الضرورية، وحدد مدة الاحتفاظ بالبيانات المجموعة. وتتناول سياسة jsonscraper لجمع البيانات بمسؤولية وتيرة الطلبات المعقولة، وتقليل البيانات، والتحقق من مخرجات الذكاء الاصطناعي قبل اتخاذ إجراءات لاحقة.

والنتيجة قائمة انتظار قابلة لإعادة الإنشاء لفيديوهات عامة يُراد التحقق يدويًا من إفصاحاتها الإعلانية: تساعد مطابقات البحث والمقاييس المتاحة على تحديد ما ينبغي فتحه أولًا، بينما تظل مراجعة المقطع نفسه من مسؤولية المراجع. ويمكن مراجعة أسماء المعلمات في وثائق TikTok API، والاطلاع على معلومات المنتج في صفحة TikTok Scraper API.

الناس

لم يتم إدراج أي أشخاص لهذه المقالة حتى الآن.

استمر في القراءةTikTok: حوّل نتائج البحث إلى قائمة أسبوعية بموضوعات الدعم
إقرأ المقال التالي

حوّل ما تقرأه إلى تكامل عملي

استكشف واجهات API للبيانات الاجتماعية من jsonscraper واختبر الطلبات وأنشئ سير عملك التالي.

استكشف واجهات API