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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: вытаскивать текст между <DIV class=s> и <BR><CITE>

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
php_su
Отправлено: 11 Сентября, 2008 - 07:19:17
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




пробую парсить гуголь, там есть такая вот штука

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> Помогите составить рег.выражение, пожалуйста!
и очень прошу, подскажите, как самому научится их составлять Растерялся
 
 Top
php_su
Отправлено: 11 Сентября, 2008 - 19:53:16
Post Id


Новичок


Покинул форум
Сообщений всего: 10
Дата рег-ции: Июнь 2008  


Помог: 0 раз(а)




вообщем я сделал, но почему-то не работает. где-то закралась ошибка(( помогите найти!

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. ?>

(Отредактировано автором: 11 Сентября, 2008 - 19:54:23)

 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB