[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Нужна помощь по PHP-скрипту
deeper
Здравствуйте, форумчане. В PHP я совсем не разбираюсь, поэтому прошу громко не смеяться над моим вопросом.
У меня есть скрипт парсера youtube. В инпут вбиваются ключевые слова, на выходе получаем файл data.txt со списком спаршенных видео по ключам из ютуба. Проблема в том, что скрипт добавляет несколько видео по каждому кейворду, а нужно, чтобы добавлял только 1 видео. В PHP не шарю, поэтому прошу помощь здесь.
Код парсера:
<?php
//error_reporting();
@ini_set('max_execution_time', 0);
echo "<title>Парсер YouTube V2.1 (с) by Gogres</title>";
echo "<form method = \"POST\" >";
echo "Кейворды (по одному на строку):
медвед
креветка
<br><br>"
;
echo "<textarea name=\"keys\" cols=\"70\" rows=\"10\"></textarea><br>";
echo "<input name=\"page\" size=5 type=\"text\" value=\"1\"> :Количество страниц<br>";
echo "<input type=\"submit\" value=\"Click & Parse\">";
echo "</form>";

$data=fopen('data.txt','a');
if ($_POST['page']) $pages=$_POST['page']; else $pages=1;
if ($_POST['keys']){
$filename=$_POST['filename'];
$papkaname=$_POST['papkaname'];
$keys=split("\n", $_POST['keys']);

foreach ($keys as $k=>$key){
$key=trim($key);
$reskey=$key;
$key=urlencode($key);
$key=str_replace("%20", "+", $key);

for($i=0; $i<$pages; $i++)
{
$pageparse=file_get_contents("http://www.youtube.com/results?search_type=videos&search_query=".$key."&page=".$page);
if(strpos($pageparse, "/watch?v=")!=false)
{
$matches=array();
$pattern = "/href=\"\/watch\?v=([^\"]*)\"/sU";
preg_match_all($pattern, $pageparse, $matches);
$resultmovies=implode(" ", $matches[1]);
$resultmovies=str_replace("&hd=1", "", $resultmovies);
$resultmovies=str_replace("&feature=browch", "", $resultmovies);
$resultmovies=explode(" ", $resultmovies);
$resultmovies=array_unique($resultmovies);
$moviescount=count($resultmovies);
//$query="http://www.youtube.com/watch?v=".$resultmovies;
foreach($resultmovies as $movielink)
{

$link = trim($movielink);
if ($link!="EMPTY")
{
\t$text='<object width="425" height="350">';
\
t$text.='<param name="movie" value="http://www.youtube.com/v/'.$link.'"></param>';
\
t$text.='<param name="wmode" value="transparent"></param>';
\
t$text.='<embed src="http://www.youtube.com/v/'.$link.'"';
\
t$text.='type="application/x-shockwave-flash" wmode="transparent"';
\
t$text.='width="425" height="350"></embed></object>';
fwrite($data, $text."\n");
\
t}
}

sleep(1);
}

} }

}

fclose($data);

?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.