Ищу Граббер различных таблиц

Тема в разделе "DLE", создана пользователем merder, 25 июл 2007.

Информация :
Актуальная версия DataLife Engine 12.0
( Final Release v.12.0 | Скачать DataLife Engine | Скачать 12.0 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.3 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    Подскажите можно ли как-нить с чужого сайта на свой разместить только таблицу(турнирная таблица) без всего остального контента ? Мож граббер какой имется на этот случай или исчо што-нить ?
     
  2. h0ttab

    h0ttab Прохожие

    //Код Граббера
    $text = file_get_contents("http://gismeteo.ua/towns1/".$idcity.".htm");
    // Ищем начало вхождения таблицы
    $pos_begin = strpos($text,'<tr><td nowrap align=center bgcolor=F0F0F0>');
    $text = substr($text,$pos_begin);
    // Ищем конец таблицы
    $pos_end = strpos($text,'</td></tr></table>');
    $pogoda2 .= substr($text, 0, $pos_end + 10);
    if(file_exists("weather.html"))
    {
    unlink("weather.html");
    }
    $f=fopen("weather.html","a");
    fwrite($f,$pogoda2);

    скрипт который читает из аля кеша
    $tpl->load_template('pogoda.tpl');
    $pogoda_contents2 = file_get_contents("./weather/weather.html");
    $tpl->set('{bpogoda}',$pogoda_contents2);
    $tpl->compile('content');
    $tpl->clear();
     
  3. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    это я так понял таблица проноза погоды...этим же кодом можно и с др сайтов таблицы брать ? и такой глупый вопрос куда этот код вставлять?
     
  4. AlexSuv

    AlexSuv Постоялец

    Регистр.:
    29 мар 2007
    Сообщения:
    117
    Симпатии:
    21
    Мда, круто, а регулярные выражения зачем придумали?
    PHP:
    <?php
    //Загружаем чужую страницу
    $StolenPage = @file_get_contents("http://server/page.htm");
    //Это вытащит содержание таблицы
    preg_match_all('/<table[^>](.*?)<\/table>/mis'$StolenPage$Table);
    //это вывалит тебе таблицу на твою страницу
    echo $Table;
    ?>
    код можно вставлять в любое место скрипта, где хочешь чтобы была таблица.
    если таблица не одна, но после <table в регулярном выражении добавить идентификатор страницы.
    PHP:
    //Если надо вытащить отдельные строки таблицы то можно так
    <?php
    //Загружаем чужую страницу
    $StolenPage = @file_get_contents("http://server/page.htm");
    // вытаскиваем строки
    preg_match_all('/<table[^>].*?<tr[^>](.*?)<\/tr><\/table>/mis'StolenPage$TableRows)
    //обрабатываем
    foreach ($TableRows as $row) {...}
    ?>
    P.S. регулярки писал с головы, не проверял
     
  5. h0ttab

    h0ttab Прохожие

    ;) внижу укажу все по порядку что к чему
    PHP:
    <?php
     
    //Урл откуда надо заграбить таблицу
            
    $text file_get_contents("http://".$gisdomen."/towns/".$idcity.".htm");
          
    // Ищем начало вхождения таблицы
         
    $pos_begin strpos($text,'<tr><td bgcolor="#FFFFFF" align=left valign=top><img');
         
    $text substr($text,$pos_begin);
         
    // Ищем конец таблицы
         
    $pos_end strpos($text,'<tr><td bgcolor=#FFFFFF valign=middle>');
             
    //Добовляем в пременую нужный нам кусок таблицы
         
    $pogoda substr($text0$pos_end 0);
             
    //Здесь мы очищяем от лишних тегов 
         
    $pogoda str_replace(array("<table border=0 cellspacing=1 cellpadding=2 valign=top width=\"100%\">"), array(""), $pogoda);
        
    //Смотрми есть ли в наличи файл
         
    if(file_exists("weathernow.html"))
        {
              
    //Если есть то удаляем его
         
    unlink("weathernow.html");
        }
         
    //Записываем данные в файл
             
    $f=fopen("weathernow.html","a");
         
    fwrite($f,$pogoda);
    ?>
    PHP:
    <?php
    //Используемый шаблон
    $tpl->load_template('pogoda.tpl');
    //заносим аля из кеша данные в переменую
    $pogoda_contents2 file_get_contents("./weather/weather.html");
    //тег который он будет искать в шаблоне для вывода ;)
    $tpl->set('{bpogoda}',$pogoda_contents2);
    $tpl->compile('content');
    $tpl->clear();

    ?>
     
  6. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    Спасибо что помогаешь...Сорь но я еще больше запутался:nezn: ...можешь доходчиво объяснить...у меня движок ДЛЕ как мне в статическую страницу загружать этим кодом таблицы ?
     
  7. h0ttab

    h0ttab Прохожие

    стукни мне ваську ;) 601350

    Добавлено через 5 минут
    стукни мне ваську %)
     
  8. merder

    merder Постоялец

    Регистр.:
    27 янв 2007
    Сообщения:
    87
    Симпатии:
    15
    В асю не могу достучаца...тут можешь написать? Или васька - 364477795
     
Статус темы:
Закрыта.