ОБСУЖДЕНИЕ

Помощь по парсингу

27 сообщений1 просмотровЗакрыта
#1
Привет мастерам! народ помогите решить проблемку есть такой парс
<?php
/*
Грабим верх Название и качество фильма
*/
//откуда будем парсить информацию
$u = 'http://блабла.com/491502-golos-monstra-a-monster-calls-2016-dvdscr';
$content = file_get_contents($u);

// Определяем позицию строки, до которой нужно все отрезать
$pos = strpos($content, '<div class="fr_viewn_t_in"><h1>');

//Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);

// Точно таким же образом находим позицию конечной строки
$pos = strpos($content, '</div>');

// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);

//если в тексте встречается текст, который нам не нужен, вырезаем его
$content = str_replace('','', $content);

// выводим спарсенный текст.
echo $content;

?>
ПАРС БУДЕТ ИСПОЛЬЗОВАТЬСЯ НА ЛОКАЛЬНОЙ МАШИНЕ!ПАРС БУДЕТ СОСТОЯТЬ С 1 страницы. index.php
Суть того что мне нужно, но никак не могу добится этого!
Короче:
1) как втулить чтобы при входе на страницу парса (index.php) высвечивалось окно добавления, в которое я бы мог ввести адрес страницы для парсинга и кнопочка старт.
2) Парс выводит мне инфу так:
Наименование:
Оригинальное наименование:
Категория:
Произведено:
Режиссер постановщик:
В главных ролях:
Краткое описание:

А нужно так:

Название:
Оригинальное название:
Жанр:
Страна:
Режиссер:
В ролях:
О фильме:
Так вот второй вопрос как сделать чтобы менялось к примеру с Наименование на Название??
Те кто понял чего я хочу помогите плиз.
Всем заранее СПАСИБО.
#2
str_replace('\";', '', $content);

так мб?
#3
Контент фуфло . Курл юзай . Так то пост 2 прав
$content = str_replace('";','', $content);
#4
ну спецы..
pos ,strpos..
$string='строка';
$x='начало строки';
$y='конец строки';
$string=explode($x,$string);
$cou=sizeof($string);
//если if($cou>2)то работаешь с циклом

//если строка существует
if($string[1])$newstrok=strstr($string[1],$y,TRUE);
все.
и не надо никакого курла если страницу можно взять по get_contents
#5
Maksamka, Спс разобрался!А скажи с Dle не работаешь?Нужна помощь данную ссылку которую получаю хочу скушать плееру но как $content в дополнительное поле вшить не могу понять.
#6
lokki00003, Спс разобрался!А скажи с Dle не работаешь?Нужна помощь данную ссылку которую получаю хочу скушать плееру но как $content в дополнительное поле вшить не могу понять.
#7
Sosed, Прости не видел сообщение.
Надо писать в почту.
dle ..
нет ничего невозможного но это время а времени на свои разработки не хватает.
за деньги конечно могу сделать
#8
пиши в личку
#9
Тема была поднята автором по истечению 24 часов после последнего поста
#10
Sosed, https://masteram.us/plugin/blog/blog/186
#11
KpuTuK, Пробовал таким способом грабить с того места. Ничего не получилось что то.
#12
Sosed, в 13 году писал. неудивительно. но суть везде одинакова. то что тебе нужно есть в конце статьи
#13
KpuTuK, Извини все разобрался. Спасибо большое все работает как и нужно. Только еще такой вопрос: А можно туда как-то вставить окно - в которое я бы ставил ссылку и после нажатия старт чтобы парсер выводил инфу????Так как открытие файла и вставки туда ссылки долговато занимает времени мне бы побыстрее это выполнять.
#14
Sosed, не совсем понял что нужно
#15
KpuTuK, Ща попробую объяснить:
Смотри нужно окно такое как при вводе пароля (то есть инфу в это окно поставил, в моем случае это ссылка на страницу).
В это окно я вставляю ссылку и она должна к примеру как там методом GET стать в это место в парсере $file = file_get_contents("http://блабла.com/491754-dlinnaya-noch-korotkoe-utro-2016-web-dlrip".$_GET['gid']."&".$_SERVER['QUERY_STRING']);
И потом парсер сам ее обработает и выведет мне страницу с инфой. Мне просто данный граб нужен для копипаста. По другому объяснить не могу. Как мог объяснил.
#16
Sosed, аналогично тому что внизу написано.
$content=str_replace('наименование','название',$content);

итд..
#17
Все разобрался почти полностью!
Вот что вышло:
PHP
<form action="" method="get">
<input name="url" placeholder="Искать здесь..." type="search" required>
<button type="submit">Поиск</button>
</form>
<?php
/*
Грабим верх Название и качество фильма
*/
//откуда будем парсить информацию 
$content = file_get_contents($_GET['url']);
 
// Определяем позицию строки, до которой нужно все отрезать
$pos = strpos($content, '<b>Наименование:</b>');
//Меняем названия на свои
$content=str_replace('Наименование','Название',$content);
$content=str_replace('Продолжительность:','Продолжительность:',$content);
$content=str_replace('Произведено:','Страна:',$content);
$content=str_replace('Категория:','Жанр:',$content);
$content=str_replace('постановщик','',$content);
$content=str_replace('главных','',$content);
$content=str_replace('Краткое описание:','О фильме:',$content);
 
//Режим хлам
$content=preg_replace('|<b>Есть реклама</b>(.*?)<!--/noindex-->|is','',$content);
$content=preg_replace('|<!--noindex--><b>Видео данные:</b>(.*?)<br />|is','',$content);
$content=preg_replace('|<b>Аудио данные:</b>(.*?)<br />|is','',$content);
$content=preg_replace('|<li class="fr_one">(.*?)</li>|is','',$content);
$content=preg_replace('|<li class="fr_two">(.*?)</li>|is','',$content);
$content=preg_replace('|<li class="fr_three">(.*?)</li>|is','',$content);
//Отрезаем все, что идет до нужной нам позиции
$content = substr($content, $pos);
 
// Точно таким же образом находим позицию конечной строки
$pos = strpos($content, '</li></ul>');
 
// Отрезаем нужное количество символов от нулевого
$content = substr($content, 0, $pos);
 
//если в тексте встречается текст, который нам не нужен, вырезаем его
$content=str_replace('наименование','название',$content);
// выводим спарсенный текст.
echo $content;
 
?>
 

Вот если бы можно было бы это менять между собой местами:
Вместо:
$content=str_replace('Наименование','Название',$content);
$content=str_replace('Продолжительность:','Продолжительность:',$content);

Чтобы было так:
$content=str_replace('Продолжительность:','Продолжительность:',$content);
$content=str_replace('Наименование','Название',$content);

Но такое навряд ли возможно.Или можно как-то? Если можно подскажиnt как, заранее спасибо.
Мне один человек что-то говорил что здесь можно регулярным выражением поколдовать, но как это сделать я увы не могу понять (так как в php полный ноль).
Кто может помочь? Заранее спасибо за все ответы.
#18
KpuTuK, Уже сделал почти то что мне нужно. Осталось еще одну проблемку решить и будет то что я хочу.
#19
PHP

$str = array('Наименование', 'Оригинальное наименование', 'Категория', 'Произведено', 'Режиссер постановщик', 'В главных ролях', 'Краткое описание');
$replace = array('Название', 'Оригинальное название', 'Жанр', 'Страна', 'Режиссер', 'В ролях', 'О фильме');
echo str_replace($str, $replace, $content);


Зачем куча кода с str_replace ? В массив это все можно.
#20
Freedom, Да говорю же полный ноль в этом всем. Как смог методом тыка собрал.
Страница 1 из 2 · Всего записей: 27