Парсер телепрограммы и гороскопов

Статус
В этой теме нельзя размещать новые ответы.
Ну вытащить программу передач на текущий день можно так:
PHP:
$pattern = '/<div id="tvListing">(.*)<div class="pusher"><\/div>/s';

	$data1 = file_get_contents("http://goroskop.ru/tv/channels/");
	if(preg_match($pattern, $data1, $matches))
		{
		print_r($matches);
		}
 
Я что-то не понял... А втор топика хочет предложить работу?
 
Ну вытащить программу передач на текущий день можно так:
PHP:
$pattern = '/<div id="tvListing">(.*)<div class="pusher"><\/div>/s';

	$data1 = file_get_contents("http://goroskop.ru/tv/channels/");
	if(preg_match($pattern, $data1, $matches))
		{
		print_r($matches);
		}

Прикольный скрипт. Но есть одно маленькое но, я не проф в програмировании код парсит без проблем, но почему то раздваивает. Тобишь делает две копии одного и того же на одной странице. Как это можно исправить неподскажите?
 
оп-оп-оп.... а не проще дергать программу по xml?! :nezn:
к примеру отсюда:


в по гороскопам.... я юзаю выдранный парсер из newsgrabber... правда старой версии, но пашет на ура!


инклюдим файлик и...
юзаем примерно так:
PHP:
    $postinformation = Array(
        "rss_url" => "http://www.site.ru/data.html",
        "prrss_url" => "",
        "rss_titletemplate" => '<tr class="{skip}"><td class="year"><p>{part1}</p></td><td class="film_info"><p><a href="/info/{part2}/">{title}</a></p>{part29}</p></td></tr>',
        "rss_print_link_from" => "",
        "rss_print_link_to" => "",
        "rss_replacement" => ""
    );
    
    $response = get_ArrayContent($postinformation);

парсит все че угодно, как угодно, где угодно :)

параметры в фигурных скобках могут быть такими:
PHP:
{title|part1|part2|part3|part4|part5|part6|part7|part8|part9|part10|part11|part12|part13|part14|part15|part16|part17|part18|part19|part20|part21|part22|part23|part24|part25|part26|part27|part28|part29}
:)
 
Если не жаль немного денег, есть такой серивис, как Для просмотра ссылки Войди или Зарегистрируйся . За смехотворную сумму они будут по четвергам высылать телепрограмму на e-mail. И мучиться с парсингом не надо.
 
Прикольный скрипт. Но есть одно маленькое но, я не проф в програмировании код парсит без проблем, но почему то раздваивает. Тобишь делает две копии одного и того же на одной странице. Как это можно исправить неподскажите?
PHP:
print_r($matches);
измени на 
print_r($matches[0]);
 
Прошу помощи!
Реализация парсера шикарная...
Всё работает на ура...
Но есть одно но..
Необходимо вырезать ссылки..
Мучаюсь, ни чего не выходит...
Вот на приведённом примере...
PHP:
<?php 
$pattern = '/<div id="tvListing">(.*)<div class="pusher"><\/div>/s'; 

    $data1 = file_get_contents("http://goroskop.ru/tv/channels/"); 
    if(preg_match($pattern, $data1, $matches)) 
        { 
        $matches=strip_tags($matches, '<h1>, <div>, <p>, <br>, <b>, <i>');	
        print_r($matches[0]); 
        } 
?>

Таким макаром ничего не выходит... :nezn:

Чем можно заменить strip_tags?

ГУРУ направьте на путь истинный :thenks:

з.ы. Можно ни чего не расписывать просто носом ткните...
 
Зачем заменять?
PHP:
<?php 
$pattern = '/<div id="tvListing">(.*)<div class="pusher"><\/div>/s'; 

    $data1 = file_get_contents("http://goroskop.ru/tv/channels/"); 
    if(preg_match($pattern, $data1, $matches)) 
        { 
        $matches=strip_tags($matches[0], '<h1>, <div>, <p>, <br>, <b>, <i>');    
        print $matches; 
        } 
?>
 
Блин, вот дурик...:(
Это надо..
А я всю голову сломал уже...
Всё так элементарно... :yahoo:
Видимо заработался уже... :)

Kaimi Огромная человеческая благодарность! :ay:

з.ы.
Оказалось, что исходная кодировка в win1251, а надо в utf8, добил...
PHP:
print iconv('cp1251', 'utf-8', $matches);
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху