- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте.Вопрос следующий, есть парсер ютуб, но он выдает несовсем нужный результат, а именно на выхлопе получаем ссылку типа: http://www.youtube.com/v/номер видео , после того как спарсил скрипт пишет всё ето дело в тестовый файл.
Но нужно получить:
<object width="640" height="400"><param name="movie" value="http://www.youtube.com/v/номер видео ?fs=1&hl=ru_RU&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/номер видео ?fs=1&hl=ru_RU&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="400"></embed></object> тобиш стандартный код вставки видео на сайт.
Вот такой вот вопрос.Буду очень признателен за любую помощь.
З.Ы. Отрывок кода скрипта где он создаёт и пишет ссылку,
{
$YouLink.= "http://www.youtube.com/v/".trim($movielink)."\r\n";
$cpl++;
}
// Записываем линк youTube
$fp = fopen ($filename, "a+");
fwrite ($fp, $YouLink);
fclose ($fp);
sleep(1);
}
может пригодится для решения вопроса.
Зарание благодарен всем откликнувшимся.
You must change regular expression.
This is pattern for preg_match(_all) function.
You must change regular expression.
This is pattern for preg_match(_all) function.
Вот что мне получилось найти в коде, по поводу preg_match
$PageParse=file_get_contents("http://www.youtube.com/results?search_type=videos&search_query=".$key."&page=".$p);
if(strpos($PageParse, "/watch?v=")!=FALSE)
{
preg_match_all("/href=\"\/watch\?v=([^\"]*)\"/sU", $PageParse, $matches);
$resultmovies=implode(" ", $matches[1]);
$resultmovies=str_replace("&hd=1", null, $resultmovies);
$resultmovies=str_replace("&feature=browch", null, $resultmovies);
$resultmovies=explode(" ", $resultmovies);
$resultmovies=array_unique($resultmovies);
$moviescount=count($resultmovies);
foreach($resultmovies as $movielink)
{
$YouLink.= "http://www.youtube.com/v/".trim($movielink)."\r\n";
$cpl++;
}
// Записываем линк youTube
$fp = fopen ($filename, "a+");
fwrite ($fp, $YouLink);
fclose ($fp);
sleep(1);
}
тока что конкретно менять и что мне даст эта замена, честно говоря я не совсем понял, но всё равно спасибо.
И если можно, пишите по русски или любым другим словянским языком.:)
Регулярку лучше не трогать дабы не нарушать логику работы этого скрипта, а вот при записи $YouLink можно заменить на шаблон
Регулярку лучше не трогать дабы не нарушать логику работы этого скрипта, а вот при записи $YouLink можно заменить на шаблон
Шаблон поставил, но что-то не то, пишет что по ключу спарсено к примеру 1 страница (тобиш 24 видео), а на самом деле в файл пишет одну строку (тобиш 1 видео), причем если парсить не 1 страницу (тобиш 24 видео), а скажем 5 страниц (тобиш 120 видео), то пишет в файл 5 строк с шаблоном но все строки (все видео) одинаковые.Помойму заменив ссылку на шаблон мы нарушили что-то в работе самого парсера.
Вот как выглядит код после замены:
$PageParse=file_get_contents("http://www.youtube.com/results?search_type=videos&search_query=".$key."&page=".$p);
if(strpos($PageParse, "/watch?v=")!=FALSE)
{
preg_match_all("/href=\"\/watch\?v=([^\"]*)\"/sU", $PageParse, $matches);
$resultmovies=implode(" ", $matches[1]);
$resultmovies=str_replace("&hd=1", null, $resultmovies);
$resultmovies=str_replace("&feature=browch", null, $resultmovies);
$resultmovies=explode(" ", $resultmovies);
$resultmovies=array_unique($resultmovies);
$moviescount=count($resultmovies);
foreach($resultmovies as $movielink)
{
$YouLink = '<object width="640" height="400"><param name="movie" value="http://www.youtube.com/v/'.trim($movielink).'?fs=1&hl=ru_RU&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.trim($movielink).'?fs=1&hl=ru_RU&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="400"></embed></object>'."\r\n";
$cpl++;
}
// Записываем линк youTube
$fp = fopen ($filename, "a+");
fwrite ($fp, $YouLink);
fclose ($fp);
sleep(1);
}
Ставил ссылку назад, всё работает, 24 спарсено записано 24 разных ссылки на видео.Хм не понятно...
Там цикл foreach, а вы при каждый итерации присваиваете новое значение $YouLink и в итоге на выходе из цикла будете иметь одно последние значение массива. Думайте над логикой кода, по этому огрызку не понятно что у вас там за парсер.
Там цикл foreach, а вы при каждый итерации присваиваете новое значение $YouLink и в итоге на выходе из цикла будете иметь одно последние значение массива. Думайте над логикой кода, по этому огрызку не понятно что у вас там за парсер.
Понял, а что нужно чтоб решить вопрос?Весь код поможет?
Ну хотябы начиная с этого участка и до конца в оригинале как он есть.
//обрабатываем ключевик
$key = trim($KeysArray[$i]);
$key = urlencode($key);
$key = str_replace("%20", "+", $key);
$PageParse=file_get_contents("http://www.youtube.com/results?search_type=videos&search_query=".$key."&page=".$p);
if(strpos($PageParse, "/watch?v=")!=FALSE)
{
preg_match_all("/href=\"\/watch\?v=([^\"]*)\"/sU", $PageParse, $matches);
$resultmovies=implode(" ", $matches[1]);
$resultmovies=str_replace("&hd=1", null, $resultmovies);
$resultmovies=str_replace("&feature=browch", null, $resultmovies);
$resultmovies=explode(" ", $resultmovies);
$resultmovies=array_unique($resultmovies);
$moviescount=count($resultmovies);
foreach($resultmovies as $movielink)
{
$YouLink = '<object width="640" height="400"><param name="movie" value="http://www.youtube.com/v/'.trim($movielink).'?fs=1&hl=ru_RU&rel=0&hd=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/'.trim($movielink).'?fs=1&hl=ru_RU&rel=0&hd=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="400"></embed></object>'."\r\n";
$cpl++;
}
// Записываем линк youTube
$fp = fopen ($filename, "a+");
fwrite ($fp, $YouLink);
fclose ($fp);
sleep(1);
}
}
}
}
echo "<center><table><tr><td><font color=\"green\">Спарсено $cpl ссылок на видео. Данные ссылки сохранены в файл $filename </font> </td></tr></table></center>";
}
?>
</body>
</html>
soloman,
в оригинале как он есть.
и прикреплять файлом, или хотябы обрамляйте в ббкод для форматирования кода, никто эту портянку в таком виде разбирать не будет.
Sorry.Как прикрепить файл не разобрался...так нормально?