La prima cosa che dovresti fare è prendere uno strumento come Fiddler e visitare una pagina video di YouTube. In Fiddler, vedrai tutti i file che compongono quella pagina, incluso lo stesso FLV. Ora, sai che il video non è uno dei file CSS, né i file immagine. Puoi ignorare quelli. Cerca un file grande. Se si guarda l'URL, inizia con /videoplayback
.
Ora, una volta trovato, scopri come sapeva il browser per ottenere quel file. Fai una ricerca attraverso le sessioni (Ctrl + F) e cerca "videoplayback". Verrà visualizzato un hit nella prima pagina, come http://www.youtube.com/watch?v=123asdf. Se passi attraverso quel file, vedrai un tag DIV con l'ID di "watch-player". All'interno di questo c'è un tag script per configurare il flash player, e al suo interno ci sono tutti i parametri del flash. All'interno di questi è l'URL del video.
Quindi ora sai come utilizzare i tuoi strumenti per capire come il browser è arrivato. Come si duplica questo comportamento in PHP?
Fare un file_get_contents()
nella pagina che fa riferimento al video. Ignora tutto non in quel div del watch-player. Analizza il codice fino a trovare quella variabile che contiene l'URL. Da lì probabilmente dovrai rimuovere l'URL. Una volta che hai, puoi fare un file_get_contents()
(o qualche altro metodo di download, a seconda di cosa stai cercando di fare) per ottenere l'URL. è così semplice Il tuo codice di analisi HTML sarà il più complesso.
Infine, tieni presente che ciò che stai per fare potrebbe essere illegale. Controlla l'EULA.
uso questo: https://www.phpclasses.org/package/9092-PHP-Download-files-of-given-YouTube-videos.html – mghhgm