Переделка бид чекера

Статус
В этой теме нельзя размещать новые ответы.

Mamadu

Хранитель порядка
Регистрация
20 Ноя 2006
Сообщения
538
Реакции
1.019
Прошу подсказки у асов PHP в переделке скрипта...Исходный вариант таков
Код:
<?php
 Error_Reporting(E_ALL & ~E_NOTICE);
function menu_ACTION($_GET,$_POST)
{
?>
<html>
<head>
<title>KlikVip Bid checker</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
.frm { font-size: 8pt; font-family: Tahoma; color: #000000; font-weight: bold; border: 1px solid #B5A57F }
.brdr { font-size: 8pt; font-family: Tahoma; color: #000000; border: 1px solid #D9CBAB }
.style1 {
    font-size: 8pt;
    font-weight: bold;
}
</style>
</head>
<body>
<center>
<table width="200" border="1" bordercolor="#FFFFFF" style="BORDER-COLLAPSE: collapse" cellpadding="1" cellspacing="1">
  <tr>
    <td align=center><form name="form1" method="post" action="">
        <textarea name="your_message" style="width: 600; height: 115;" class=frm></textarea>
        <br>
        <input type="submit" name="submit" value="Show bids" class=frm style="margin-top:6; margin-bottom:4; width: 70; height: 18; background-color:#D4D0C8">
<input name="action" type="hidden" value="start">
    </form></td>
  </tr>
  <tr>
    <td bordercolor="#D9CBAB" border="1"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="brdr">
        <tr>
          <td bgcolor="#F0EADC" style="padding: 5;"><div class="style1">Show Bids</div></td>
        </tr>
        <tr>
          <td style="padding-top:6;"><table width="100%" border="1"  cellpadding="0" cellspacing="0" class="brdr" style="BORDER-COLLAPSE: collapse">
              <tr>
                <td width="44%"><div align="center"><strong>Title</strong></div></td>
                <td width="28%"><div align="center"><strong>Max Bid</strong></div></td>
                <td width="28%"><div align="center"><strong>Min Bid</strong></div></td>
              </tr>
            </table></td>
        </tr>
    </table></td>
  </tr>
</table>
</center>
</body>
</html>
<?php
}

if($_GET['action']){$action=$_GET['action'];}
elseif($_POST['action']){$action=$_POST['action'];}
else{$action="menu";}
if(function_exists($action."_ACTION"))
 {
          call_user_func($action."_ACTION",$_GET,$_POST);
 }


//////////////////////////////////
function start_ACTION($_GET,$_POST)
{
?>
<html>
<head>
<title>KlikVip Bid Checker</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<style>
.frm { font-size: 8pt; font-family: Tahoma; color: #000000; font-weight: bold; border: 1px solid #B5A57F }
.brdr { font-size: 8pt; font-family: Tahoma; color: #000000; border: 1px solid #D9CBAB }
.style1 {
    font-size: 8pt;
    font-weight: bold;
}
</style>
</head>
<body>
<center>
<table width="200" border="1" bordercolor="#FFFFFF" style="BORDER-COLLAPSE: collapse" cellpadding="1" cellspacing="1">
  <tr>
    <td align=center><form name="form1" method="post" action="">
        <textarea name="your_message" style="width: 600; height: 115;" class=frm></textarea>
        <br>
        <input type="submit" name="submit" value="Show bids" class=frm style="margin-top:6; margin-bottom:4; width: 70; height: 18; background-color:#D4D0C8">
<input name="action" type="hidden" value="start">
    </form></td>
  </tr>
  <tr>
    <td bordercolor="#D9CBAB" border="1"><table width="100%" border="0" cellpadding="0" cellspacing="0" class="brdr">
        <tr>
          <td bgcolor="#F0EADC" style="padding: 5;"><div class="style1">Show Bids</div></td>
        </tr>
        <tr>
          <td style="padding-top:6;"><table width="100%" border="1"  cellpadding="0" cellspacing="0" class="brdr" style="BORDER-COLLAPSE: collapse">
              <tr>
                <td width="44%"><div align="center"><strong>Title</strong></div></td>
                <td width="28%"><div align="center"><strong>Max Bid</strong></div></td>
                <td width="28%"><div align="center"><strong>Min Bid</strong></div></td>
    <tr>
    <td width="44%"><div align="center">

<?php

$fp=fopen("out.csv","w+");
fputs($fp,"Keyword".";"."max bid".";"."min bid"."\r\n");

$keyw=$_POST['your_message'];
$zapros=explode("\r\n",$keyw);

include("func.php");

$result=load_pagecook("http://www.klikvip.com/members/");
$cookies=capch_cook($result);
$result=load_pagelog("http://www.klikvip.com/members/",$cookies);

for($i=0;$i<count($zapros);$i++)
{
$result=load_page("http://www.klikvip.com/members/funcs/showbids.php?q=".urlencode(trim($zapros[$i])),$cookies);
$matc=parse_links($result);
echo trim($zapros[$i])."</div></td><td width=\"28%\"><div align=center>",$matc[0],"</div></td><td width=\"28%\"><div align=center>",$matc[count($matc)-1],"</div></td></tr><tr><td width=\"44%\"><div align=center>";flush();
fputs($fp,trim($zapros[$i]).";".$matc[0].";".$matc[count($matc)-1]."\r\n");
}
fclose($fp);
echo "           </div>   </tr>
            </table></td>
        </tr>
    </table></td>
  </tr>
</table></td></tr></table></center><br>";
echo "<center>Çàãðóçèòü ðåçóëüòàò â csv ôîðìàòå: <a href=\"./out.csv\">out.csv</a></center>";

}
?>
Пытаюсь переделать чтоб просто цеплял строки из текстового файла и чекал их. Переделал так:
Код:
<?php
$ZAP="zap.txt";
function my($ZAP)
{
$fp=fopen("out.csv","w+");
fputs($fp,"Keyword".";"."max bid".";"."min bid"."\r\n");
$keyw=$ZAP['zap.txt'];
$zapros=explode("\r\n",$keyw);
include("func.php");
$result=load_pagecook("http://www.klikvip.com/members/");
$cookies=capch_cook($result);
$result=load_pagelog("http://www.klikvip.com/members/",$cookies);
for($i=0;$i<count($zapros);$i++)
{
$result=load_page("http://www.klikvip.com/members/funcs/showbids.php?q=".urlencode(trim($zapros[$i])),$cookies);
$matc=parse_links($result);
fputs($fp,trim($zapros[$i]).";".$matc[0].";".$matc[count($matc)-1]."\r\n");
}
fclose($fp);
}
?>
Пахать не хочет.... Может подскажете где косяк?
 
А вызов my() та где?
 
  • Заблокирован
  • #4
Код:
<?php
$ZAP="zap.txt";

my($ZAP);

function my($ZAP)
{
$fp=fopen("out.csv","w+");
fputs($fp,"Keyword".";"."max bid".";"."min bid"."\r\n");
$keyw=$ZAP['zap.txt'];
$zapros=explode("\r\n",$keyw);
include("func.php");
$result=load_pagecook("http://www.klikvip.com/members/");
$cookies=capch_cook($result);
$result=load_pagelog("http://www.klikvip.com/members/",$cookies);
for($i=0;$i<count($zapros);$i++)
{
$result=load_page("http://www.klikvip.com/members/funcs/showbids.php?q=".urlencode(trim($zapros[$i])),$cookies);
$matc=parse_links($result);
fputs($fp,trim($zapros[$i]).";".$matc[0].";".$matc[count($matc)-1]."\r\n");
}
fclose($fp);
}
?>
 
по идее должно быть так, проверить не смог ибо func.php нет- выложи может?
PHP:
$fp=fopen("out.csv","w+");
fputs($fp,"Keyword".";"."max bid".";"."min bid"."\r\n");
$filename = "keys.txt";
$handle = fopen($filename, "rb");
$contents = fread($handle, filesize($filename));
fclose($handle);
$keyw=$contents;
$zapros=explode("\r\n",$keyw);
include("func.php");
$result=load_pagecook("http://www.klikvip.com/members/");
$cookies=capch_cook($result);
$result=load_pagelog("http://www.klikvip.com/members/",$cookies);
for($i=0;$i<count($zapros);$i++)
{
$result=load_page("http://www.klikvip.com/members/funcs/showbids.php?q=".urlencode(trim($zapros[$i])),$cookies);
$matc=parse_links($result);
echo trim($zapros[$i])."</div></td><td width=\"28%\"><div align=center>",$matc[0],"</div></td><td width=\"28%\"><div align=center>",$matc[count($matc)-1],"</div></td></tr><tr><td width=\"44%\"><div align=center>";flush();
fputs($fp,trim($zapros[$i]).";".$matc[0].";".$matc[count($matc)-1]."\r\n");
}
fclose($fp);
 
func.php
Код:
<?php
 Error_Reporting(E_ALL & ~E_NOTICE);

function load_pagelog($url,$cookies)
{


$param=0;
while($param==0)
{
include("config.txt");
$param=1;

if($stoper)exit;


include("config.php");

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url); 
                    curl_setopt($ch, CURLOPT_POST,1);
    $post="login=$login&pwd=$pwd&ENTER=Enter";
                    curl_setopt($ch, CURLOPT_POSTFIELDS,$post);
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
$result = curl_exec($ch); 
curl_close($ch); 

if($result)return $result;
}
}



///////////////////////
function load_pagecook($url)
{


$param=0;
while($param==0)
{
include("config.txt");
$param=1;

if($stoper)exit;


$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url); 
              curl_setopt($ch, CURLOPT_POST,0);

    curl_setopt($ch, CURLOPT_COOKIE, 0);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
$result = curl_exec($ch); 
curl_close($ch); 

$result=explode("<html>",$result);
if($result[0])return $result;
}
}

//////////////////////////////////////////////////////////////////////
function capch_cook($result)
{
$headers=explode("\r\n",$result[0]);

           if(count($headers))
           {
            while(list($key,$val) = each($headers))
                {
                             $tmp=explode(":",$val);
                             $_key=trim($tmp[0]);
                             unset($tmp[0]);
                             $_val=trim(implode(":",$tmp));
                            if(!strcmp($_key,"Set-Cookie"))
                            {
                                            $tmp=explode(";",$_val);
                                            $ttmp=explode("=",$tmp[0]);
                                            $cookies[trim($ttmp[0])]=trim($ttmp[1]);
                                            unset($ttmp);
                            }
                }
            }

////////////////
if($cookies)
{
unset($cookiesa);
 for(reset($cookies);$key=key($cookies);next($cookies))
$cookiesa=$cookiesa.$key."=".$cookies[$key].";";
unset($cookies);
}
//echo"----------------";
//echo $cookies;exit;
//echo"----------------";
/////////////////

return $cookiesa;
}
///////////////////////////////////////////////////////////////////////////////////////////////////
function load_page($url,$cookies)
{


$param=0;
while($param==0)
{
include("config.txt");
$param=1;

if($stoper)exit;





$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_COOKIE, $cookies);
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_REFERER, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)");
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); 
$result = curl_exec($ch); 
curl_close($ch); 

if($result)return $result;
}
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
function parse_links($result)
{
include("config.txt");

 preg_match_all("!<td align=\"center\">(.*?)</td>!si",$result,$matches);
for($i=0;$i<count($matches[1]);$i++)
{
    $match[$i]=str_replace(" ","",$matches[1][$i]);
}
return $match;

}
/////////////////////////////////////////
/////////////////////////////////////////
/////////////////////////////////////////
/////////////////////////////////////////

?>
config.php
Код:
<?php
 Error_Reporting(E_ALL & ~E_NOTICE);
$login="";
$pwd="";

?>
config.txt
Код:
<?

##таймаут загрузки страницы
$timeout=55;
#если 1 то скрипт остановиться
$stoper=0;


?>
Почему то вариант Rodik под Денвером пошел(в браузере), на серваке никсовом нет (из шелла). Вариант Для просмотра ссылки Войди или Зарегистрируйся рабоать не хочет вообще... Нужна софтинка - чтоб на серваке ее запустить надолго чтоб пахала.
 
что-бы работала на *никсовом сервере поменяй $zapros=explode("\r\n",$keyw);
на
$zapros=explode("\n",$keyw);
\r\n- символ перевода каретки под виндой
\n -под *никсами
фтп клиент при заливке в режиме ASCII автоматически заменяет \r\n на \n- поэтому с одним и тем-же файлом скрипт может работать не правлильно под разными системами.

 
что-бы работала на *никсовом сервере поменяй $zapros=explode("\r\n",$keyw);
на
$zapros=explode("\n",$keyw);
\r\n- символ перевода каретки под виндой
\n -под *никсами
фтп клиент при заливке в режиме ASCII автоматически заменяет \r\n на \n- поэтому с одним и тем-же файлом скрипт может работать не правлильно под разными системами.

Мде, приятно иметь дело с профи... А сложно сделать в скрипт "иньекцию" чтоб он к бидам по кею еще и количество выдачи Гугла по этому кею дописывал рядышком?
 
А сложно сделать в скрипт "иньекцию" чтоб он к бидам по кею еще и количество выдачи Гугла по этому кею дописывал рядышком?
наверное нет, но я не кодер ;)
вот тут есть тулза
 
Код:
preg_match_all("/of about <b>(.*)<\/b> for <b>/isU",load_page('http://www.google.com/q='.urlencode($keyword),''),$tres);
и после этой строки, в $tres[1][0] - у тебя должно быть количество результатов в гугле по кею. :) да, сам кей пихать в $keyword. надеюсь, дальше сам вставишь куда надо, т.к. весь код не смотрел. :)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху