Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: вытаскивать текст между <DIV class=s> и <BR><CITE>
Форумы портала PHP.SU » PHP » Напишите за меня, пожалуйста » вытаскивать текст между <DIV class=s> и <BR><CITE>

Страниц (1): [1]
 

1. php_su - 11 Сентября, 2008 - 07:19:17 - перейти к сообщению
пробую парсить гуголь, там есть такая вот штука

CODE (text):
скопировать код в буфер обмена
  1. <DIV class=s>An automobile or motor <EM>car</EM> is a wheeled motor vehicle
  2.   for transporting passengers <B>.....</B> The first electric <EM>cars</EM> were
  3.   built around 1832, well before internal
  4.   <B>...</B><BR><CITE>

мне нужно написать регулярку, которая бы вытаскивала текст между <DIV class=s> и <BR><CITE> Помогите составить рег.выражение, пожалуйста!
и очень прошу, подскажите, как самому научится их составлять Растерялся
2. php_su - 11 Сентября, 2008 - 19:53:16 - перейти к сообщению
вообщем я сделал, но почему-то не работает. где-то закралась ошибка(( помогите найти!

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.     //Объявляем функцию парсинга выдачи
  4.     function parse_snip($query)
  5.     {
  6.    
  7.         $request = 'http://www.google.com/search?hl=en&q='.urlencode(trim($query)); //какой урл передавать в cURL
  8.         $ch = curl_init(); //инициализация переменной для cURL
  9.          
  10.         //параметры запроса
  11.          curl_setopt($ch,CURLOPT_URL,$request); //задаем урл который будем парсить
  12.          curl_setopt($ch,CURLOPT_TIMEOUT,20); //таймаут, если не отвечает в течение такого-то времени, рвем соединение
  13.          curl_setopt($ch,CURLOPT_REFERER,"http://www.google.com/"); //типа мы пришли с гугл.ком
  14.          curl_setopt($ch,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows; U; Windows NT 5.0; ru; rv:1.8.1.8) Gecko/20071008 Firefox/2.0.0.8"); //типа это такой вот наш браузер (фаерфокс)
  15.          curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //не показывать страницу в браузере, а записать в переменную $result
  16.          $result=curl_exec($ch); //делаем запрос
  17.        
  18.         //Регулярка которая указывает на снипеты    
  19.         $pattern = '#<DIV class=s>(.+)<br><cite>#isU';
  20.                                
  21.                 if(preg_match_all($pattern, $result, $matches))
  22.                 print_r($matches);
  23.                 {
  24.                             for ($i=0; $i<count($matches[0]); $i++)
  25.                             {
  26.                                 $link = $matches[2][$i];
  27.                                
  28.                                 $serp[] = $link;
  29.                             }
  30.                 }
  31.                 break;
  32.    
  33.        
  34.         return $serp;
  35.     }
  36.     //Стартуем функцию парсинга
  37.     parse_snip("car");
  38. ?>

 

Powered by ExBB FM 1.0 RC1