Как я проверяю, существует ли видео на YouTube, с помощью PHP?

Можно просто захватить их как с любой атрибут CSS :

alert($("#mybox").css("padding-right"));
alert($("#mybox").css("margin-bottom"));

можно установить их со вторым атрибутом в css методе:

$("#mybox").css("padding-right", "20px");

РЕДАКТИРОВАНИЕ: при необходимости просто в пиксельном значении используйте parseInt(val, 10):

parseInt($("#mybox").css("padding-right", "20px"), 10);

18
задан Michael Petrotta 20 May 2012 в 06:26
поделиться

4 ответа

Как насчет с использованием API Youtube ?
В конце концов, это будет означать использование какого-то официального лица, которое с меньшей вероятностью изменится, чем анализ некоторой HTML-страницы.

Для получения дополнительной информации: API и инструменты YouTube - Руководство разработчика: PHP

Получение определенной записи о видео кажется довольно интересным: если вы отправляете запрос по URL-адресу, подобному этому:

http://gdata.youtube.com/feeds/api/videos/videoID

(заменив "videoID" на идентификатор видео, конечно - "GeppLPQtihA" в вашем пример) , вы получите некоторый канал ATOM, если видео действительное; и «Недействительный идентификатор», если это не так


И я настаиваю: таким образом, вы полагаетесь на задокументированный API , а не на какое-то поведение, которое существует сегодня, но не гарантируется.

38
ответ дан 30 November 2019 в 05:42
поделиться

Запросите URL-адреса с помощью метода HEAD, например:

HEAD /watch?v=p72I7g-RXpg HTTP/1.1
Host: www.youtube.com                         

HTTP/1.1 200 OK
[SNIP]


HEAD /watch?v=p72I7g-BOGUS HTTP/1.1
Host: www.youtube.com              

HTTP/1.1 303 See Other
[SNIP]
Location: http://www.youtube.com/index?ytsession=pXHSDn5Mgc78t2_s7AwyMvu_Tvxn6szTJFAbsYz8KifV-OP20gt7FShXtE4gNYS9Cb7Eh55SgoeFznYK616MmFrT3Cecfu8BcNJ7cs8B6YPddHQSQFT7fSIXFHd5FmQBk299p9_YFCrEBBwTgtYhzKL-jYKPp2zZaACNnDkeZxCr9JEoNEDXyqLvgbB1w8zgOjJacI4iIS6_QvIdmdmLXz7EhBSl92O-qHOG9Rf1HNux_xrcB_xCAz3P3_KbryeQk_9JSRFgCWWgfwWMM3SjrE74-vkSDm5jVRE3ZlUI6bHLgVb7rcIPcg
4
ответ дан 30 November 2019 в 05:42
поделиться

Другой (своего рода неэффективный) способ - использовать cURL для получения HTML-кода предполагаемой страницы видео и запустить некоторые регулярные выражения, чтобы убедиться, что это настоящая страница видео.

0
ответ дан 30 November 2019 в 05:42
поделиться

Вы хотите проверить, является ли URL-адрес YouTube URL-адресом настоящего видео YouTube? Это довольно сложно, вы можете использовать регулярные выражения, но имейте в виду, что существует множество допустимых способов выражения URL-адреса YouTube:

Также код видео может содержать буквенно-цифровые символы, символы подчеркивания, -символы (не знаю, как они называются) и, возможно, многое другое.

0
ответ дан 30 November 2019 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: