محلل بسيط ليوتيوب في جداول جوجل

قبل التاريخ


كانت هناك مهمة لجمع البيانات على أكثر من 2000 فيديو يوتيوب ، والتي كان من الضروري استخراج اسم الفيديو والقناة واللغة.

لم تساعد وظيفة IMPORTXML ، التي يمكنك من خلالها إجراء تحليل من المواقع ، لأنه ، كما اتضح فيما بعد ، يخزن youtube البيانات في ملفات JSON. لم أكن أرغب في تصنيف العديد من مقاطع الفيديو بيدي وبدأت أبحث عن طرق لأتمتة هذه المهمة أو على الأقل تبسيطها.

لقد وجدت مقالًا قديمًا مدته 15 عامًا عن Habré ، والذي يصف كيفية الحصول على عدد مرات مشاهدة الفيديو ، ولكن منذ لحظة نشره ، قام youtube بتحديث واجهة برمجة التطبيقات (API) وكنت بحاجة للحصول على بيانات مختلفة قليلاً.

في عملية حل المشكلة باستخدام youtube API وجداول Google ، اتضح ليس فقط استخراج البيانات من قائمة عناوين URL للفيديو المعدة مسبقًا ، ولكن أيضًا لتحليل إخراج youtube بالكلمة الرئيسية.

في أعظم سرور للنتيجة ، قررت مشاركة تجربتي ووصف العملية بمزيد من التفصيل.

الطريقة نفسها ليست بالتأكيد مثالية. يمكن وصفها كحل بسيط على عجل. لكن حتى بدأت أتعلم بيثون (آمل أن يأتي هذا اليوم عاجلاً أم آجلاً) ، علي أن أفعل كل شيء بالطريقة القديمة في الجداول.

تدريب


لكي يعمل المحلل اللغوي ، كما في المقالة الأصلية ، نحتاج إلى البرنامج النصي ImportJSON و youtube API.

Importjson


قم بتنزيل البرنامج النصي من github وتثبيته في الجدول من خلال الأدوات >> محرر البرنامج النصي.

يوتيوب API


نحصل على API الخاصة بنا - مفتاح Youtube Data API V3 في المكتبة وننشئ بيانات اعتماد لها. في السابق ، بالطبع ، نحن نجري حسابًا ، إذا لم تكن مسجلًا بالفعل في google cloud.

يتم تخزين المعلومات حول الفيديو في ملف JSON ، والذي يتوفر على الرابط:
www.googleapis.com/youtube/v3/videos؟id= {Video_ID} & key = {API_Key} & part = {Part_Parametr}
اين
Video_ID - معرف الفيديو
API_Key - مفتاح API الذي تحصل عليه في وحدة التحكم
Part_Parametr - جزء من الملف الذي يتم فيه تخزين المعلومات
يمكن أن تكون أجزاء الملف من عدة أنواع:
مقتطف - يحتوي على جميع المعلومات الأساسية حول الفيديو تقريبًا:
1. تاريخ النشر
2. عنوان الفيديو
3. اسم القناة
4. معرف القناة
5. الوصف تحت الفيديو (الوصف)
6. فئة الفيديو (رقم)
7. العلامات
تفاصيل المحتوى - يحتوي على مدة ودقة الفيديو.
topicDetails - يحتوي على فئة الفيديو في شكل رابط ويكيبيديا مع اسم الفئة ، ومع ذلك لا يتم ملء هذا القسم دائمًا.
إحصائيات
1. وجهات النظر
2. عدد التعليقات
3. يحب
4. يكره
بشكل عام ، هذه هي الأجزاء الرئيسية التي قد تحتاجها ، ولكن قائمة كاملة ، إذا كان ذلك ، هي في المساعدة .

استعادة بيانات قائمة عناوين URL


النظر في عمل المحلل اللغوي باستخدام مراجعة badcomedian كمثال . من أجل الحصول على معلومات حول مقطع فيديو ، نحتاج فقط إلى معرفه ( Video_ID ) ، وفي هذه الحالة يكون EOWa0fmSGs8 .

نحصل على المعلومات ونصممها باستخدام صيغة ImportJSON ولغة استعلام XPath.

هذه هي الطريقة التي يبدو بها ملف JSON على الخادم:

صورة

صيغة الحصول على عدد مرات المشاهدة في الجداول:
= ImportJSON ('' https://www.googleapis.com/youtube/v3/videos؟id=EOWa0fmSGs8&key= {API_Key} & part = statistics ''؛ "/ items / statistics / viewCount"؛ '' noHeaders ')
من حيث المبدأ ، قد لا يتم استخدام XPath في الطلب ، ولكن بعد ذلك ستحصل على كافة محتويات ملف JSON ، بدون تجزئة حسب المعلمات. بعد أن قمت بإنشاء العدد الضروري من الصيغ مع معلمات XPath ، ستحصل على البيانات الضرورية فقط ، والتي ستكون معالجة أسهل.

الحصول على قائمة مقاطع الفيديو عن طريق الكلمات الرئيسية


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

في هذه الحالة ، يوجد ملف JSON مع نتائج الفيديو على الرابط
www.googleapis.com/youtube/v3/search؟part=snippet&q= {Your_Query} & type = video & key = {API_Key}
حيث تشير المعلمة type إلى ما نحصل عليه بالضبط في الإخراج:

اكتب = فيديو - قائمة مقاطع الفيديو ذات الصلة بالطلب
اكتب = قناة - قائمة القنوات
اكتب = قائمة التشغيل - قائمة قوائم التشغيل
يمكنك أيضا تحديد في الطلب:

1. تاريخ النشر أو النطاق الزمني
2. المنطقة ولغة البحث
3. مدة الفيديو
4. عدد النتائج (الافتراضي 5 ، الحد الأقصى 50) ، إلخ.

قائمة كاملة من المعلمات ومنشئ الاستعلام متاحة هنا .

للحصول على قائمة بمعرفات badcomedian ، استخدم الصيغة:
= ImportJSON (" www.googleapis.com/youtube/v3/search؟part=snippet&q=badcomedian&type=video&key= {API_Key}"؛ "/ items / id / videoId"؛ '' noHeaders ')
يعمل ImportJSON بشكل جيد مع وظيفة CONCEPT ، والتي تتيح لنا ، من خلال تغيير المعلمات المختلفة ، إجراء تحليل جماعي أو تحليل فيديو.

مثال على كيفية تنظيم الجدول:



طريقة ناقص


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

Source: https://habr.com/ru/post/ar443506/


All Articles