Le URI di YouTube non riescono a visualizzare le miniature quando sono in onebox

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

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

…diventa una casella trasparente:

Il DOM mostra:

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

Tuttavia, vengono visualizzati quando vengono pubblicati:

1 Mi Piace

Confermato, ottima osservazione, per ora applicherò un pr-welcome e lascerò una nota al team per la valutazione.

1 Mi Piace

Questo è interessante, posso riprodurre i problemi con i link nell’OP qui su Meta, ma localmente e sul nostro sito Discourse interno vengono recuperati e visualizzati correttamente:

@rokejulianlockhart questi link non vengono visualizzati correttamente sul tuo sito, o solo non qui su Meta?

1 Mi Piace

@martin, anche alcuni altri:

Non-Shorts

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

  1. discuss.kde.org/new-topic

    [1]

  2. forum.fairphone.com/new-topic

    [1:1]

Tuttavia, su discussion.fedoraproject.org, si visualizza correttamente:

[1:2]

Shorts

\u003cdetails open\u003e

Con https://youtube.com/shorts/Cs3sTnLO6EE, si riproduce quanto segue:

…su:

  1. discuss.kde.org/new-topic

    [1:3]

  2. forum.fairphone.com/new-topic

    [1:4]

Tuttavia, come prima, su discussion.fedoraproject.org, si visualizza correttamente:

[1:5]

\u003c/details\u003e

Cosa stanno facendo bene i Fedora?


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

2 Mi Piace

Questa problematica è risolta? Ho aperto un argomento per un problema simile che si sta verificando attualmente sulla mia bacheca

@hameedacpa, questo è completamente irrilevante, perché si tratta dell’anteprima. Inoltre, puoi confermare che non è stato corretto semplicemente utilizzando l’anteprima. Ti suggerisco di installare un traduttore.

1 Mi Piace

Ho trovato questo argomento che include un problema parziale che sto affrontando anch’io

1 Mi Piace

@hameedacpa, questo è simile, anche se dubito che sia equivalente. La presenza di un’icona di anteprima non valida sembra dimostrarlo, insieme al diverso rapporto d’aspetto dell’<img>. Se inserisci quei dettagli in 387672/1, saranno utili lì. Se si tratta semplicemente di differenze causate dal browser, verrà classificato come duplicato parziale di questo.

A tal proposito, includi la versione del tuo browser, la versione di Discourse e il markup effettivo del contenuto renderizzato in quel thread citato. Attualmente, è privo di qualsiasi cosa tranne uno screenshot; devi impegnarti per ricevere assistenza non retribuita.

C’è qualcosa che non va nel nostro flusso Onebox, credo a causa del reindirizzamento/FinalDestination. Se uso curl in questo modo:

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

Sono in grado di trovare i tag title e altri meta nella risposta:

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>

Tuttavia, quando ricevo la risposta tramite il nostro codice oneboxer, questi sono gli unici tag (esclusi script e style) che ottengo nell’<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">

Pensavo che ignore_redirects potesse essere la causa, ma modificare le opzioni di FD non ha fatto alcuna differenza:

Sospetto che YouTube stia probabilmente riducendo lo scraping perché sta avendo lo stesso problema di scraping AI di tutti gli altri, ma non sono sicuro di cosa stia causando specificamente la ricezione della risposta vuota (che sembra ottenere i tag meta/title popolati tramite JS allo stesso modo di quando si visita nel browser).

Questo codice per il oneboxing di YouTube è ciò che si aspetta che i tag title e image vengano popolati:

Continuerò a indagare :occhi:

2 Mi Piace

Potrebbe essere che stiano spedendo solo ciò che sembra necessario per risparmiare larghezza di banda? I nostri Onebox utilizzano un user agent del browser, quindi forse lo rispettano solo?

2 Mi Piace

Ok, penso di avere una soluzione qui, dovremmo usare oEmbed per queste cose da YouTube invece:

Non credo, sembrano essere 2 cose:

  1. Una sorta di strana limitazione/reindirizzamento della velocità IP, perché a volte per siti diversi sul nostro hosting il link OP funziona
  2. Questo codice non funziona più, perché il JSON che ci aspettiamo non c’è più discourse/lib/onebox/engine/youtube_onebox.rb at e144ec07c8c17ad0f73427524bccc10c074d5a19 · discourse/discourse · GitHub

Nel complesso, l’URL oEmbed sembra più sicuro, per il video OP è https://www.youtube.com/oembed?url=https://youtube.com/shorts/Cs3sTnLO6EE&format=json e ottieni questo tipo di risposta:

2 Mi Piace

Va bene, con quella correzione unita, ora funziona :slight_smile:

Nota che le risposte delle URL onebox sono memorizzate nella cache per 1 giorno; ho dovuto eseguire questo nella console Oneboxer.preview(“https://youtube.com/shorts/Cs3sTnLO6EE”, invalidate_oneboxes: true) per vedere il nuovo risultato.

3 Mi Piace

Questo argomento è stato chiuso automaticamente dopo 2 giorni. Non sono più consentite nuove risposte.