Отделение поискового трафа от остального

January 17th, 2008

Сегодня я расскажу как можно отделить поисковый траф от остального, если вы например хотите сливать траф с гугла в одно место, а траф с других поисковых систем куда-нибудь еще :)

Для начала разработаем функцию анализа рефера с которым пришли на скрипт редиректа

 
function parse_se($seoref)
{
	$out = array();
	$seo_info = parse_url($seoref);
	$se = @$seo_info['host'];
	$query = @$seo_info['query'];
	if(strstr($se, 'google') !== false)
	{
		$out['se'] = 'google';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if(strstr($se, 'msn') !== false)
	{
		$out['se'] = 'msn';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if(strstr($se, 'yahoo') !== false)
	{
		$out['se'] = 'yahoo';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['p']);
	}
	if((strstr($se, 'aol') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['query']);
	}
	if((strstr($se, 'netscape') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['query']);
		if($out['q'] == '')$out['q'] = urldecode(@$out['q']['s']);
	}
	if((strstr($se, 'ask') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if((strstr($se, 'starware') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['qry']);
	}
	return $out;
}

Дальше просто используем выборку по правилам (для какой SE какое правило перехода и все готово :))

 
$se_out = parse_se($ref);
switch ($se_out['se'])
{
	case 'google':
		$url = 'for google';
		break;
	case 'yahoo':
		$url = 'for yahoo';
		break;
	case'msn':
		$url = 'for msn';
		break;
	default:
		$url = 'for other se';
		break;
}

Теперь осталось соединить это все в одно целое и вуаля :)

 
<?
function parse_se($seoref)
{
	$out = array();
	$seo_info = parse_url($seoref);
	$se = @$seo_info['host'];
	$query = @$seo_info['query'];
	if(strstr($se, 'google') !== false)
	{
		$out['se'] = 'google';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if(strstr($se, 'msn') !== false)
	{
		$out['se'] = 'msn';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if(strstr($se, 'yahoo') !== false)
	{
		$out['se'] = 'yahoo';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['p']);
	}
	if((strstr($se, 'aol') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['query']);
	}
	if((strstr($se, 'netscape') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['query']);
		if($out['q'] == '')$out['q'] = urldecode(@$out['q']['s']);
	}
	if((strstr($se, 'ask') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['q']);
	}
	if((strstr($se, 'starware') !== false))
	{
		$out['se'] = 'other';
		parse_str($query, $out['q']);
		$out['q'] = urldecode(@$out['q']['qry']);
	}
	return $out;
}
$ref = @$_SERVER['HTTP_REFERER'];
//traff with referer
if($ref != '')
{
	$se_out = parse_se($ref);
	switch ($se_out['se'])
	{
		case 'google':
			$url = 'for google';
			break;
		case 'yahoo':
			$url = 'for yahoo';
			break;
		case'msn':
			$url = 'for msn';
			break;
		default:
			$url = 'for other se';
			break;
	}
}
//no ref traff
else
{
	$url = 'http://google.com';
}
header("Location: $url");
?>
 

1 Star2 Stars3 Stars4 Stars5 Stars (5 votes, average: 5 out of 5)

Loading ... Loading ...

Генератор запросов для парсинга

January 7th, 2008

Каждый дорвейщик знает, чем лучше база для спама постинга в дружественные ресурсы, тем больше в конечном итоге можно съесть бутербродов с икрой.

Наша задача попробовать собрать базу.

Для этого нам потребуются запросы для парсинга поисковых систем (в нашем случае гугла)

Для парсинга нам надо знать следующие спец. запросы, которые обрабатывает гугл

inurl - поиск указанной строки в урле документа

intitle - поиск строки в тегах <title>

intext - банальный поиск в контенте страницы

site - поиск сайтов в указаной доменной зоне

Все эти специальные макросы указываются с разделителем : (двоеточие)

Например

inurl:add_entry.php site:com intitle:"Add comment"

Что будет делать этот запрос?

Думаю всем понятно: поиск в гугле гестбуков в зоне com у которых в заголовке страницы будет текст Add comment

Конечно можно самому сидеть и составлять такие запросы, НО

Предлагаю вам воспользоваться моим маленьким скриптиком,

который облегчит жизнь и позволит автоматически генерировать запросы для парсинга (конечно по заданным параметрам)

Та-дам

 
<?
if(isset($_POST['GO']))
{
	$urls	 = array_unique(explode("n", $_POST['urls']));
	$minus	 = array_unique(explode("n", $_POST['minus']));
	$titles	 = array_unique(explode("n", $_POST['titles']));
	$domains = array_unique(explode("n", $_POST['domains']));
	$intext  = array_unique(explode("n", $_POST['text']));
	$url_count 		= count($urls);
	$minus_count 	= count($minus);
	$titles_count 	= count($titles);
	$domains_count 	= count($domains);
	$intext_count 	= count($intext);
	for ($i = 0; $i &lt; $url_count; $i++)
	{
		for ($ii = 0; $ii &lt; $minus_count; $ii++)
		{
		for ($iii = 0; $iii &lt; $titles_count; $iii++)
		{
		for ($iiii = 0; $iiii &lt; $domains_count; $iiii++)
		{
		for ($iiiii = 0; $iiiii &lt; $intext_count; $iiiii++)
		{
			echo 'inurl:'.$urls[$i].
                                         ' intitle:'.$titles[$iii].
                                         ' intext:'.$intext[$iiiii].
                                         ' site:'.$domains[$iiii].'';
		}
		}
		}
		}
	}
	die();
}
?>
 

Все это можно скачать в архиве, там уже с готовым html кодом
Скачать генератор запросов для парсинга гугла
На супер актуальность не претендую, скрипт выкладывается как есть, кто хочет модернизирует его под себя ;)
1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5 out of 5)

Loading ... Loading ...

Всех с Новым годом и Рождеством!

January 7th, 2008

Поздравляю всех! Желаю чтобы в этом году все было лучше чем в прошлом году :)

Новая фича

December 6th, 2007

Добавил новую фишку - голосование :)

1 Star2 Stars3 Stars4 Stars5 Stars (9 votes, average: 3.78 out of 5)

Loading ... Loading ...

TDS (Система управления трафиком) своими руками

December 5th, 2007

Light TDS

Здравствуйте мои любители этого интересного.

Сегодня я расскажу вам, как можно самому, на коленке, организовать себе систему управления трафиком.

Итак, начнем

Прежде всего нам требуется определить, по каким критериям будем фильтровать траф... Я предлагаю сделать по самому распространенному: уникальность и страна пользователя.
Read the rest of this entry »

Легенький парсер овертюры

December 4th, 2007

Давно пылится у меня, скрипт не новый, так что принимайте как есть :)

Новичкам чтобы собирать кейворды самое то!

overture-parser

VIPкодек…

December 4th, 2007

Мои эксперименты с випкодеком продолжаются :)

сейчас думаю попробовать использовать свои промо...

думаю скоро надо будет засветится в топе ;)


Переезд

November 7th, 2007

Осуществился переезд блога на новый движок, ща пытаюсь восстановить всю информацию