Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.11.2020, 15:39   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию file_get_contents возвращает разные строки

Здравствуйте.
Если кому-то интересна предыстория (и чтобы потом не объяснять почему и зачем), то я хочу написать на Delphi или С++ программу для скачивания видео с ютуба. Да, я в курсе, что таких программ и так очень много. Но все они сводятся к тому, что мы открываем браузер, долго и мучительно гуглим нужное видео, копируем ссылку на него и вставляем ее в программу. Да еще потом надо вручную проставлять даты для каждого скачанного видео, чтобы на жестком диске они лежали в хронологическом порядке.
А так как я неимоверно дофига качаю с ютуба, то на все эти действия уходит огромное количество времени. Намного больше, чем уходит на само скачивание. Вот и пришла идея написать свою качалку, которая бы автоматизировала этот процесс.
Собственно, в чем проблема? Проблема в том, что официальное API ютуба не предоставляет возможность скачивания видео. А неофициальные opensource скачивалки написаны либо на питоне, либо на PHP.
Но меня интересует не весь код скачивания, а только получение списка форматов и ссылок.
Если я правильно понял, это делается следующим кодом:
Код:
<?php
  $data = file_get_contents("https://www.youtube.com/get_video_info?video_id=cmnHJteiSP4");
  echo $data;
?>
Чтобы переписать его на Delphi или С++, нужно сначала убедиться в том, что он работает. Для этого я поднял свой сервер https://46.175.35.158/yt_test.php .
Проблема в том, что каждый раз возвращается разная строчка. Как будто она обрезается в случайном месте. В результате, ее невозможно распарсить.
Что делать?

Последний раз редактировалось BLACK_RAIN; 28.11.2020 в 15:49.
BLACK_RAIN вне форума Ответить с цитированием
Старый 28.11.2020, 19:05   #2
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
неофициальные opensource скачивалки
а там код посмотреть? как там считывают?
ADSoft вне форума Ответить с цитированием
Старый 28.11.2020, 19:50   #3
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от ADSoft Посмотреть сообщение
а там код посмотреть? как там считывают?
В том-то и дело. Они ее парсят. А у меня она не парсится, потому что приходит битая строка.
BLACK_RAIN вне форума Ответить с цитированием
Старый 28.11.2020, 21:46   #4
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,158
По умолчанию

Контент именно так забирается?
И оно у них сейчас все работает?
Потому как неофициальные вещи очень часто не успевают за изменениями...может это раньше так работало а сейчас нет
ADSoft вне форума Ответить с цитированием
Старый 29.11.2020, 15:56   #5
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

В чем именно проблема ?
По мне я хоть с делфи хоть с пхп получаю контент и все там есть и ссылки и битрейт и другие данные
uberchel вне форума Ответить с цитированием
Старый 01.12.2020, 12:13   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Я разобрался. Всё оказалось очень просто. Возвращалась строка в виде
Код:
param1=value1&param2=value2&player_responce=JSON&param3............
Все параметры каждый раз в случайном порядке. Дальше всё просто.

Цитата:
Сообщение от uberchel Посмотреть сообщение
По мне я хоть с делфи хоть с пхп получаю контент и все там есть и ссылки и битрейт и другие данные
Как вы ее парсите?

Последний раз редактировалось BLACK_RAIN; 01.12.2020 в 12:16.
BLACK_RAIN вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Записать значения масива в разные строки таблици БД serrgggeee PHP 3 13.12.2013 12:38
Перенос строки таблицы на разные листы farookh1 Microsoft Office Excel 4 17.09.2013 16:48
Как окрасить строки ListBox'a в разные цвета??? AtiLin Общие вопросы C/C++ 0 06.04.2009 21:08
сравнить разные строки Katovski Общие вопросы Delphi 8 02.05.2008 21:10
mysql_num_rows - не возвращает строки Stema PHP 15 31.01.2008 16:14