Редирект на PHP

January 17, 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']);
   }
   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");
?>

Говномешалка

January 10, 2008

PHP скрипт, разбивающий текст нужным процентом кейворда.

define(’NEED_DENSITY’,20);

$key = "XANAX";
$body = "text about viagra here text about viagra here text about viagra here text about viagra here ";
$needDens = NEED_DENSITY;

$addKeysCnt =
($needDens/100)*(str_word_count($body)/str_word_count($key));
$arWords2 = explode(’ ‘,$body);
for($j=0;$j<$addKeysCnt;$j++) {
$arWords2[] = $key;
shuffle($arWords2);
}

$body = implode(’ ‘,$arWords2);

echo $body;

Мульти-айпишный парсер

January 7, 2008

Бывают такие ситуации, когда нужно быстренько напарсить контента, а проксей хороших под рукой нету.

Вот, написал небольшую функцию для использования нескольких айпишек для исходящих соединений.

Что делать дальше с контентом - решать Вам. В качестве примера - парсинг сниппетов блогсерча.

 

$keyword - кейворд в urlencode();

__________________________________
error_reporting(0);

function parsenewsnippets($keyword)
{

$ip[0]=’77.77.77.72′;
$ip[1]=’77.77.77.73′;
$ip[2]=’77.77.77.74′;
$ip[3]=’77.77.77.75′;

for ($k=0;$k<count($ip);$k++)
{
$sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$sourceip = $ip[$k];
socket_bind($sock, $sourceip);
socket_connect($sock, ‘blogsearch.google.com’, 80);
if($k==”0″){$ss=”0″;}else{$ss = $k . “00″;}
$request = ‘GET /blogsearch?hl=en&num=100&start=$ss&ie=UTF-8&sa=N&q=’ . $keyword . ‘ HTTP/1.0′ .
“\r\n” .’Host: blogsearch.google.com ‘ . “\r\n\r\n”;
socket_write($sock, $request);
while(!socket_last_error($sock)){
if($buffer=socket_read($sock,1,PHP_NORMAL_READ)){
$content .= $buffer;
}
}
socket_close($sock);
sleep(5/count($ip));
}
$d = $content;
$content = “”;
return $d;

}

—————

Chippa.name