[ИЩУ] Регулярка для google

Тема в разделе "Регулярные выражения", создана пользователем SkiLLer, 24 май 2010.

Статус темы:
Закрыта.
Модераторы: xpert13
  1. SkiLLer

    SkiLLer

    Регистр.:
    22 авг 2007
    Сообщения:
    307
    Симпатии:
    64
    Недавно гугл изменил формат выдачи. Раньше пользовался классом для РНР "seoclass" который возвращал массив в виде
    PHP:
    ['title']
    [
    'snippet']
    [
    'url']
    еще была ф-ция для выдирания количества результатов. Есть ли у кого-нить регулярка для парсинга новой выдачи гугла? Было бы идеально, если бы формат отдачи был бы такой, как описан выше.
     
  2. Virtual

    Virtual Постоялец

    Регистр.:
    17 фев 2007
    Сообщения:
    57
    Симпатии:
    11
    если это тот seoclass.php что я от madbirdy, то открываешь его, и ищешь такую строку: <h3 class=r
    меняешь на <h3 class=[\"]?r[\"]?
    а так же, чуть ниже, сразу будет:
    <div class=\"s\" меняешь на <div class=[\"]?s[\"]?
    и опля, сеокласс опять работает. :)

    вот короче вся функция с регулярками, из сеокласса:
    PHP:
        public function google_serp($text,$start=0,$num=10)
        {
            
    $num $num<=100 $num 100;
            
    $content $this->_curl_session('http://www.google.com/search?q='.urlencode($text).'&ie=utf-8&num='.$num.'&start='.$start);
            
    preg_match_all('!<h3 class=[\"]?r[\"]?><a href=\"(.*)\".*>(.*)</a></h3>!siU',$content,$url_n_title);
            
    preg_match_all('!<div class=[\"]?s[\"]?>(.*)<cite>!siU',$content,$snippet);
            foreach (
    $url_n_title[1] as $key=>$val)
            {
                
    $out[]=array (
                            
    'title'=>strip_tags($url_n_title[2][$key]),
                            
    'snippet'=>strip_tags($snippet[1][$key]),
                            
    'url'=>strip_tags($val)
                            );
            }
            return 
    $out;
        }
     
    SkiLLer нравится это.
Статус темы:
Закрыта.