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

dig555

Постоялец
Регистрация
22 Июн 2007
Сообщения
365
Реакции
160
Мне очень нужен серверный парсер снипетов гугла. Нашёл такой вот код:
При запуске ругается на регулярку в 8 строке. Знающие, посмотрите плз, в чём там ошибка:thenks: А то я в регэкспах ни бум-бум.
 
слушай где ты это достал?:)
оно не работает потому, что там целая куча синтаксических ошибок. Я уже не говорю про, что даже если их исправить, то он всё равно ничего не будет парсить. Просто потому, что регулярные выражения составлены неверно.
Сложилось такое впечатление, что проблема в кодировке.
Типа скрипт был написан в одной кодировке, а ты пересохранил в другую и очень много спец символов просто потерялись.
Для просмотра ссылки Войди или Зарегистрируйся
Возможно тут ты найдёшь то, что тебе нужно.
 
Переделай только само получение странички с гугла, например с помощью curl
 
Тоже необходим парсер снипетов гугла. Нашел вот такой код, помогите освоить, пожалуйста. За предложенный ранее браться не стал, с curl пока вообще даже близко не знаком. только-только осваиваю пхп :)

PHP:
<?php 

	//Объявляем функцию парсинга выдачи
	function parse_serp($engine, $query)
	{
		switch (strtolower($engine))
		{
			case 'google':
				$request = 'http://www.google.com/search?hl=en&q='.urlencode(trim($query));
				$pattern = '/cC[itIT]*eE/';
				
				$result = file_get_contents($request);
				
				if(preg_match_all($pattern, $result, $matches))
				{
                			for ($i=0; $i<count($matches[0]); $i++)
                			{
                				$link = $matches[2][$i];
                				
                				$serp[] = $link;
                			}
                }
				break;
				
			case 'yahoo':
				$request = 'http://search.yahoo.com/search?ei=UTF-8&n=100&b=0&vl=&p='.urlencode(trim($query));
				$pattern = '/<a class=yschttl.*(http%3a\/\/.*)">(.*)<\/a>.*<div class=yschabstr>(.*)<\/div>/isU';
				
				$result = file_get_contents($request);
				
				if(preg_match_all($pattern, $result, $matches))
				{
                			for ($i=0; $i<count($matches[0]); $i++)
                			{
                				$link = urldecode($matches[1][$i]);
                				
                				$serp[] = $link;
                			}
                		}
				break;
				
			case 'msn':
				$request = 'http://search.msn.com/results.aspx?count=50&first=0&mkt=&q='.urlencode(trim($query));
				$pattern = '/<li.*><h3><a href=".*" gping="\/GLinkPing.aspx\?\/_1_9SE\/1\?(.*)&amp;&amp;.*">(.*)<\/a><\/h3><p>(.*)<\/p>/isU';
				
				$result = file_get_contents($request);
				
				if(preg_match_all($pattern, $result, $matches))
				{
                			for ($i=1; $i<count($matches[0]); $i++)
                			{
                				$link = urldecode($matches[1][$i]);
                				
                				$serp[] = $link;
                			}
                		}
                		
				break;
		}
		
		return $serp;
	}
	//Стартуем функцию парсинга
	parse_serp("google", "cars");
	//Выводим полученные результаты
	print_r($result);
?>
 
да уж такое бывает иногда
 
Народ, а существует в природе статьи объясняющие на примере написания своих скриптов, для сео... поделитесь...
 
Народ, а существует в природе статьи объясняющие на примере написания своих скриптов, для сео... поделитесь...
Угу! Книга называется "PHP5 на примерах. Кузнецов, Симдянов, Голышев" :D
Врядли, есть такое. Разве, что вот это:

 
мне больше всего помог сайт php.net
вводишь название функции и смотришь как с ней умелые прогеры обращаются
 
Чтобы не делать новую тему...
Проблема в парсинге русского и других языков кроме енг.
Есть у кого решения по парсингу (открытый пхп код) снипетов на русском или арабском?
 
Назад
Сверху