فشل YouTube URIs في عرض الصور المصغرة عند تضمينها

  1. https://youtube.com/shorts/Cs3sTnLO6EE

  2. https://www.youtube.com/watch?v=Cs3sTnLO6EE&lc=Ugyi1VtrCVd2POTc82N4AaABAg#:~:text=A%20Screencast%20Of%20LinkedIn%20Persona%20Verification%20Failure

…تصبح صندوقًا شفافًا:

يعرض DOM:


<img src="" width="480" height="360" title=" - YouTube" style="aspect-ratio: 480 / 360;">

ومع ذلك، يتم عرضها عند نشرها:

إعجاب واحد (1)

تم التأكيد، ملاحظة جيدة، سأضع علامة “ترحيب بطلب السحب” على هذا الآن وأترك ملاحظة للفريق لمراجعتها.

إعجاب واحد (1)

هذه مسألة مثيرة للاهتمام، يمكنني إعادة إنتاج المشكلات المتعلقة بالروابط في OP هنا على Meta، ولكن محليًا وعلى موقع Discourse الداخلي الخاص بنا يتم جلبها وعرضها بشكل جيد:

@rokejulianlockhart هل هذه الروابط لا يتم عرضها بشكل صحيح على موقعك الخاص، أم فقط هنا على Meta؟

إعجاب واحد (1)

@martin، بعض الآخرين أيضًا:

غير الموجزات

مع https://www.youtube.com/watch?v=Cs3sTnLO6EE&lc=Ugyi1VtrCVd2POTc82N4AaABAg#:~:text=A%20Screencast%20Of%20LinkedIn%20Persona%20Verification%20Failure، يُعاد إنتاجه على:

  1. discuss.kde.org/new-topic

    [1]

  2. forum.fairphone.com/new-topic

    [1:1]

لكن على discussion.fedoraproject.org، يتم عرضه بشكل صحيح:

[1:2]

الموجزات

\u003cdetails open\u003e

مع https://youtube.com/shorts/Cs3sTnLO6EE، يُعاد إنتاج ما يلي:

…على:

  1. discuss.kde.org/new-topic

    [1:3]

  2. forum.fairphone.com/new-topic

    [1:4]

لكن كما كان من قبل، على discussion.fedoraproject.org، يتم عرضه بشكل صحيح:

[1:5]

\u003c/details\u003e

ما الذي تفعله فيدورا بشكل صحيح؟


  1. bugs.kde.org/show_bug.cgi?id=511477#c1 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

إعجابَين (2)

هل تم حل هذه المشكلة، لقد فتحت موضوعًا لمشكلة مماثلة تحدث حاليًا في لوحتي

@hameedacpa، هذا غير ذي صلة تمامًا بذلك، لأن هذا يتعلق بالمعاين. بالإضافة إلى ذلك، يمكنك التأكد من أنه لم يتم إصلاحه بمجرد استخدام المعاين. أقترح عليك تثبيت مترجم.

إعجاب واحد (1)

لقد وجدت هذا الموضوع بما في ذلك مشكلة جزئية أواجهها أيضًا

إعجاب واحد (1)

@hameedacpa، هذا مشابه، على الرغم من أنني أشك في أنه مكافئ. يبدو أن وجود أيقونة صورة مصغرة غير صالحة يوضح ذلك، جنبًا إلى جنب مع نسبة العرض إلى الارتفاع المختلفة لـ <img>. إذا وضعت تلك التفاصيل في 387672/1، فستكون مفيدة هناك. إذا كانت مجرد اختلافات ناتجة عن المتصفح، فسيتم تصنيفها على أنها نسخة جزئية من هذا.

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

يبدو أن هناك خطأ ما في تدفق Onebox الخاص بنا هنا، أعتقد أنه يتعلق بإعادة التوجيه/FinalDestination. إذا استخدمت curl كما يلي:

curl -L https://youtube.com/shorts/Cs3sTnLO6EE

أتمكن من العثور على علامات title و meta الأخرى في الاستجابة:

curl -L https://youtube.com/shorts/Cs3sTnLO6EE | htmlq 'head > meta'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0   0     0   0     0     0     0  --:--:-- --:--:-- --:--:--     0
100 947221   0 947221   0     0 406174     0  --:--:--  0:00:02 --:--:-- 504109
<meta content="IE=edge" http-equiv="X-UA-Compatible">
<meta content="ApvK67ociHgr2egd6c2ZjrfPuRs8BHcvSggogIOPQNH7GJ3cVlyJ1NOq/COCdj0+zxskqHt9HgLLETc8qqD+vwsAAABteyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJQcml2YWN5U2FuZGJveEFkc0FQSXMiLCJleHBpcnkiOjE2OTUxNjc5OTksImlzU3ViZG9tYWluIjp0cnVlfQ==" http-equiv="origin-trial">
<meta content="rgba(255, 255, 255, 0.98)" name="theme-color">
<meta content="A Screencast Of LinkedIn Persona Verification Failure" name="title">
<meta content="For https://www.linkedin.com/help/linkedin/cases/73171318#:~:text=Thanks%20for%20contacting%20us%20about,to%20troubleshoot%20any%20additional%20causes." name="description">
...
 curl -L https://youtube.com/shorts/Cs3sTnLO6EE | htmlq 'head > title'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0   0     0   0     0     0     0  --:--:-- --:--:-- --:--:--     0
100 992110   0 992110   0     0 445530     0  --:--:--  0:00:02 --:--:-- 739941
<title>A Screencast Of LinkedIn Persona Verification Failure - YouTube</title>

ومع ذلك، عندما أحصل على الاستجابة عبر كود oneboxer الخاص بنا، هذه هي العلامات الوحيدة (باستثناء علامات script + style) التي أحصل عليها في <head>:

uri = FinalDestination.new("https://youtube.com/shorts/Cs3sTnLO6EE", Oneboxer.get_final_destination_options("https://youtube.com/shorts/Cs3sTnLO6EE")).resolve
doc2 = Onebox::Helpers.fetch_response(uri)
Nokogiri.HTML(doc2).css("head").children.each do |headel|
  next if headel.name == "script" || headel.name == "style"
  puts headel.to_s
end; nil;

<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta http-equiv="origin-trial" content="ApvK67ociHgr2egd6c2ZjrfPuRs8BHcvSggogIOPQNH7GJ3cVlyJ1NOq/COCdj0+zxskqHt9HgLLETc8qqD+vwsAAABteyJvcmlnaW4iOiJodHRwczovL3lvdXR1YmUuY29tOjQ0MyIsImZlYXR1cmUiOiJQcml2YWN5U2FuZGJveEFkc0FQSXMiLCJleHBpcnkiOjE2OTUxNjc5OTksImlzU3ViZG9tYWluIjp0cnVlfQ==">
<link rel="shortcut icon" href="https://www.youtube.com/s/desktop/ace6261e/img/favicon.ico" type="image/x-icon">
<link rel="icon" href="https://www.youtube.com/s/desktop/ace6261e/img/favicon_32x32.png" sizes="32x32">
<link rel="icon" href="https://www.youtube.com/s/desktop/ace6261e/img/favicon_48x48.png" sizes="48x48">
<link rel="icon" href="https://www.youtube.com/s/desktop/ace6261e/img/favicon_96x96.png" sizes="96x96">
<link rel="icon" href="https://www.youtube.com/s/desktop/ace6261e/img/favicon_144x144.png" sizes="144x144">
<link rel="stylesheet" href="//fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700&amp;family=YouTube+Sans:wght@300..900&amp;display=swap" nonce="kFtYVVw9wWKkoPdOJkO9xQ">
<link rel="stylesheet" href="/s/player/65578ad1/www-player.css" nonce="kFtYVVw9wWKkoPdOJkO9xQ">
<link rel="stylesheet" href="https://www.youtube.com/s/desktop/ace6261e/cssbin/www-main-desktop-player-skeleton.css" nonce="kFtYVVw9wWKkoPdOJkO9xQ">
<link rel="stylesheet" href="https://www.youtube.com/s/desktop/ace6261e/cssbin/www-onepick.css" nonce="kFtYVVw9wWKkoPdOJkO9xQ">
<link rel="stylesheet" href="https://www.youtube.com/s/_/ytmainappweb/_/ss/k=ytmainappweb.kevlar_base.dsnGl9m3_bM.L.X.O/am=AAAgAAgk/d=0/rs=AGKMywEVyAGSU99VwQpoLFio5FrCvZ1WpA" nonce="kFtYVVw9wWKkoPdOJkO9xQ">
<meta name="theme-color" content="rgba(255, 255, 255, 0.98)">
<link rel="search" type="application/opensearchdescription+xml" href="https://www.youtube.com/opensearch?locale=en_US" title="YouTube">
<link rel="manifest" href="/manifest.webmanifest" crossorigin="use-credentials">
<link rel="canonical" href="undefined">
<link rel="alternate" media="handheld" href="https://m.youtube.com/shorts/Cs3sTnLO6EE">
<link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.youtube.com/shorts/Cs3sTnLO6EE">
<title> - YouTube</title>
<meta name="title" content="">
<meta name="description" content="Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.">
<meta name="keywords" content="video, sharing, camera phone, video phone, free, upload">
<link rel="alternate" href="android-app://com.google.android.youtube/http/www.youtube.com/shorts/Cs3sTnLO6EE">
<link rel="alternate" href="ios-app://544007664/vnd.youtube/www.youtube.com/shorts/Cs3sTnLO6EE">

اعتقدت أن ignore_redirects قد يكون السبب، ولكن إذا قمت بتعديل خيارات FD لم يحدث فرق:

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

هذا الكود الخاص بـ youtube oneboxing هو الذي يتوقع أن تكون علامات title + image مملوءة:

سأستمر في التحقيق :eyes:

إعجابَين (2)

قد يكون أنهم يشحنون فقط ما يبدو ضروريًا لتوفير عرض النطاق الترددي؟ تستخدم Oneboxes الخاصة بنا وكيل مستخدم للمتصفح، لذا ربما يحترمون ذلك فقط؟

إعجابَين (2)

حسنًا، أعتقد أن لدي حلاً هنا، يجب أن نستخدم oEmbed لهذه الأشياء من يوتيوب بدلاً من ذلك:

لا أعتقد ذلك، يبدو أن هناك شيئين:

  1. نوع من تحديد المعدل/إعادة التوجيه الغريب لعنوان IP، لأن أحيانًا بالنسبة لمواقع مختلفة على استضافتنا، يعمل رابط OP.
  2. هذا الكود لم يعد يعمل، لأن JSON الذي نتوقعه لم يعد موجودًا discourse/lib/onebox/engine/youtube_onebox.rb at e144ec07c8c17ad0f73427524bccc10c074d5a19 · discourse/discourse · GitHub

بشكل عام، يبدو عنوان URL الخاص بـ oEmbed أكثر أمانًا، بالنسبة لمقطع الفيديو الخاص بـ OP، فهو https://www.youtube.com/oembed?url=https://youtube.com/shorts/Cs3sTnLO6EE&format=json وتحصل على هذا النوع من الاستجابة:

إعجابَين (2)

حسنًا، مع دمج هذا الإصلاح، يعمل الآن :slight_smile:

لاحظ أن استجابات عنوان URL للـ Onebox مخبأة لمدة يوم واحد، كان علي أن أقوم بهذا في وحدة التحكم Oneboxer.preview(“https://youtube.com/shorts/Cs3sTnLO6EE”, invalidate_oneboxes: true) لرؤية النتيجة الجديدة.

3 إعجابات

تم إغلاق هذا الموضوع تلقائيًا بعد يومين. لم يعد يُسمح بالردود الجديدة.