Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
 
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Нужна помощь по PHP-скрипту
deeper  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 8
Пользователь №: 42303
На форуме: 11 месяцев, 15 дней
Карма:




Здравствуйте, форумчане. В 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);

?>


Это сообщение отредактировал deeper - 19.01.2016 - 12:23
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Лысый и злой
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 25994
Пользователь №: 21350
На форуме: 6 лет, 8 месяцев, 25 дней
Карма: 725

Не курю:
1 год, 2 месяца, 11 дней


Цитата
fwrite($data, $text."\n");

тормози его

fwrite($data, $text."\n");
break;


скрипт то ужасный какой))

500 руб - напишу всё пучком - что надо то и спарсит


--------------------
Халявные ответы кончились.
Если нужен готовый код - готовьтесь заплатить.
Райкин тоже был артист

Возле дома был сарай
А когда всё хорошо
Можно просто покурить

user posted image
http://ufa102.xyz/
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
deeper  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 8
Пользователь №: 42303
На форуме: 11 месяцев, 15 дней
Карма:




Цитата (Игорь_Vasinsky @ 19.01.2016 - 12:34)
Цитата
fwrite($data, $text."\n");

тормози его

fwrite($data, $text."\n");
break;


скрипт то ужасный какой))

500 руб - напишу всё пучком - что надо то и спарсит

Если так сделать, то для 10 ключей будет 10 одинаковых строк с видео из первого кейворда. А нужно для каждого кея 1 видео.

Это сообщение отредактировал deeper - 19.01.2016 - 14:15
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темы Ответ в темуСоздание новой темыСоздание опроса