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

كيفية العثور على فيديوهات TikTok التي تتضمن إفصاحات إعلانية وإحالتها للمراجعة

يجمع مسار عمل بلغة Python نتائج البحث، ويستخرج الأوصاف والمقاييس المتاحة، ثم ينشئ قائمة انتظار للتدقيق اليدوي

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

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

المهمة: العثور على مقاطع تستحق المراجعة

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

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

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

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

النتيجة: ملف CSV يوضح أسباب الاختيار

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

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

الاتصال بـ TikTok Scraper API

تشير وثائق jsonscraper إلى أن مسار البحث عن الفيديو هو GET /searchVideo على العنوان الأساسي https://tiktok.evelode.com. المعلمة الإلزامية هي keyword؛ وتشمل المعلمات الإضافية count وdate_posted وsort_by وregion. يُمرّر المفتاح عبر license_key، لذا احفظه في متغير بيئة بدلًا من وضعه في الشيفرة أو ملف CSV. ترد أسماء المعلمات والمسار الدقيقة في مرجع نقاط نهاية TikTok؛ وتتوفر معلومات المنتج والوصول في صفحة TikTok Scraper API.

ثمة خاصية مهمة في الاستجابة تؤثر في اكتمال المحلل المحلي: قد تكون البيانات في tiktok.aweme_list أو في tiktok.search_item_list[].aweme_info. لذلك يتحقق البرنامج النصي من المصفوفتين. وإذا أعاد البحث قائمة فارغة، فسينشئ ملف CSV فارغًا بدلًا من ملء النتائج بصفوف وهمية.

مثال بلغة Python: البحث والتصفية وملف CSV

يستخدم المثال مكتبة Python 3.8+ القياسية فقط. قبل التشغيل، عيّن JSONSCRAPER_TIKTOK_LICENSE_KEY في البيئة. يستخدم الطلب keyword، ويُمرّر المفتاح في معلمة الاستعلام license_key، وفقًا للمواصفات.

المقال: كيفية العثور على فيديوهات TikTok التي تتضمن إفصاحات إعلانية وإحالتها للمراجعة
الملخص: نوضح كيفية البحث عن فيديوهات TikTok العامة باستخدام اسم علامة تجارية، ومعالجة شكلي استجابة API، وتصدير المقاطع التي تتضمن مؤشرات صريحة على الإفصاح الإعلاني إلى ملف CSV ليراجعها مختص.
دور الصورة: رسم توضيحي داعم 2 — جانب محدد مختلف
القسم: مثال بلغة Python: البحث والتصفية وملف CSV
الموضوع البصري: مخطط معلوماتي بسيط بالروسية يوضح مساري بيانات استجابة TikTok API وخطوات إعداد قائمة المراجعة
يوضح المخطط مساري الوصول المدعومين إلى بيانات البحث ومراحل إعداد قائمة المراجعة.© jsonscraper · رسم توضيحي أُنشئ بالذكاء الاصطناعي
import csv
import json
import os
import sys
from datetime import datetime, timezone
from urllib.parse import urlencode
from urllib.request import Request, urlopen

API_KEY = os.environ["JSONSCRAPER_TIKTOK_LICENSE_KEY"]
KEYWORD = "Acme"
MARKERS = ["реклама", "партнерство", "партнёрство", "спонсор", "ad", "sponsored"]

params = {
    "license_key": API_KEY,
    "keyword": KEYWORD,
    "count": 30,
    "sort_by": "date-posted",
    "date_posted": "this-month",
    "region": "US",
}
url = "https://tiktok.evelode.com/searchVideo?" + urlencode(params)
request = Request(url, headers={"Accept": "application/json"})

with urlopen(request, timeout=30) as response:
    payload = json.load(response)

if payload.get("status") != "ok":
    raise RuntimeError("API returned a non-ok outer status")

tiktok = payload.get("tiktok") or {}
items = list(tiktok.get("aweme_list") or [])
for entry in tiktok.get("search_item_list") or []:
    info = entry.get("aweme_info") or {}
    if info:
        items.append(info)

seen = set()
rows = []
collected_at = datetime.now(timezone.utc).isoformat()

for item in items:
    video_id = item.get("aweme_id")
    if not video_id or video_id in seen:
        continue
    seen.add(video_id)

    description = item.get("desc") or ""
    lowered = description.casefold()
    matched = [word for word in MARKERS if word.casefold() in lowered]
    if not matched:
        continue

    author = item.get("author") or {}
    stats = item.get("statistics") or {}
    rows.append({
        "collected_at_utc": collected_at,
        "search_keyword": KEYWORD,
        "video_id": video_id,
        "share_url": item.get("share_url") or "",
        "description": description,
        "matched_markers": "; ".join(matched),
        "author_name": author.get("nickname") or "",
        "author_id": author.get("unique_id") or "",
        "play_count": stats.get("play_count", ""),
        "digg_count": stats.get("digg_count", ""),
        "comment_count": stats.get("comment_count", ""),
        "share_count": stats.get("share_count", ""),
    })

fields = [
    "collected_at_utc", "search_keyword", "video_id", "share_url",
    "description", "matched_markers", "author_name", "author_id",
    "play_count", "digg_count", "comment_count", "share_count",
]
with open("tiktok_review_queue.csv", "w", newline="", encoding="utf-8-sig") as output:
    writer = csv.DictWriter(output, fieldnames=fields)
    writer.writeheader()
    writer.writerows(rows)

print(f"Saved {len(rows)} review candidates to tiktok_review_queue.csv")

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

يستخدم المثال المعلمات الموثقة لمسار /searchVideo: تقبل date_posted القيمة this-month، وتقبل sort_by القيمة date-posted، بينما تقبل region رمز بلد. تحدد قيمة count حجم النتائج المطلوبة، لكنها لا تضمن قائمة كاملة بالمنشورات. وعند استخدام الصفحات اللاحقة، احفظ المؤشر المُعاد كقيمة مبهمة ومرّره في معلمة cursor.

المراجعة البشرية وأتمتة التشغيل

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

لجمع متكرر، شغّل البرنامج النصي وفق جدول زمني باستخدام cron أو مجدول CI أو منسّق مهام. احفظ ملفات CSV مع تاريخ التشغيل، أو حمّل الصفوف إلى جدول بمفتاح فريد مكوّن من معرّف الفيديو وتاريخ الرصد. وإذا كنت بحاجة إلى سجل تدقيق، فاحتفظ أيضًا باستجابة JSON الأصلية مع ضبط صلاحيات الوصول؛ إذ يتيح ذلك إعادة التحقق من التحويل وتفسير مصدر كل صف.

يُستحسن إضافة معالجة لأخطاء الشبكة وHTTP، وتحديد عدد المحاولات، وإرسال إشعار عند التعطل في النسخة المستخدمة فعليًا. لا تطبع عنوان URL للطلب كاملًا، إذ يتضمن مفتاح الوصول. ومن المنطقي للفريق الذي يضم عدة مستخدمين حفظ السر في مدير أسرار بيئة التشغيل، وتقييد الوصول إلى الملفات النهائية وفقًا للسياسات الداخلية.

ما الذي توفره هذه القائمة تحديدًا؟

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

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

للبدء، تحقّق من التوافر والإعدادات الحالية في صفحة منتج TikTok Scraper API، وراجع شكل الاستجابة وخيارات الدمج في وثائق API الرسمية.

الناس

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

استمر في القراءةكيفية العثور على فيديوهات TikTok التي تتضمن أسئلة عن منتجك وتجميعها في تقرير
إقرأ المقال التالي

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

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

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