Парсер сниппетов гугла

Тема в разделе "PHP", создана пользователем dig555, 6 июн 2008.

XEvil 4.0 Релиз Состоялся!
Модераторы: latteo
  1. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    478
    Симпатии:
    352
    Во первых какая проблема то ?
    Не парсит или каракули ?!

    Да и вообще вот ваш же код только переписаный... Используйте или дополняйте функцию rep_txt и будит счастье...

    PHP:
     
    function rep_txt($txt)
    {
     
    for (
    $i=0$n=count($txt); $i<$n$i++)
    {
    // Делаем перекодеровку иначе замаритесь потом с mb_
    #$txt[$i]=iconv('utf-8', 'windows-1251', $txt[$i]);
     
    $txt[$i]=strip_tags($txt[$i], '<b><i><u>');
    $txt[$i]=str_replace(
    array(
    '<b>...</b>'
    ),
    array(
    ''
    ),
    $txt[$i]
    );
    $txt[$i]=html_entity_decode($txt[$i]);
    $txt[$i]=trim($txt[$i]);
     
    }
    return 
    $txt;
    }
     
    $arr=array();
    $str=file_get_contents("http://www.google.com/search?q=".urlencode('привет')."&hl=ru&tbs=qdr:y&lr=&sa=X&tbo=1");
     
    if(
    preg_match_all('#<div class="s">.+<cite>#smiU'$str$text))
    $arr=array_merge($arrrep_txt($text[0]));
     
    echo 
    implode('<br>'$arr);
     
     
    PS. Если код выше вашей работы то хоть и рановато ещё но смотрите в сторону cURL и обертки для него.... В конце концов готовую возмите иначе на file_get_contents вас забанят как делать нечего и очень быстро.
    Кароче для начало подтяните свои знания в PHP или не морочте себе голову и закажите нормальный скрипт.
     
  2. Levitt

    Levitt

    Регистр.:
    20 май 2008
    Сообщения:
    361
    Симпатии:
    42
    Каракули дает. Курл есть, для примера file_get_contents хватает.
    html_entity_decode - как варинат, но замена всего алфавита на спецсимволы по типу &#1589; не комильфо.

    По поводу заказа, парсеров гугла писано-переписано тысячи раз, как последний вариант может быть...
     
  3. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    478
    Симпатии:
    352
    Вы наверно перепутали функции... Эта не кодирует а декодирует... Как раз токи от всех мнемоников избовляет.
    Если у вас каракули то значит файл в win-1251 а google отдает контент в utf-8
    Строчку с iconv каскомментируйте - должно помочь.