Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
Скрипт-чекер траффика на ПХП |

27.02.2009, 12:37
|
|
Постоянный
Регистрация: 18.09.2006
Сообщений: 867
Провел на форуме: 2805813
Репутация:
1396
|
|
Скрипт-чекер траффика на ПХП
Увидел в подписи к теме "Написание скриптов", так вот хочу попросить умеющих - нужен скрипт вот такой:
Кидаем в форму список сайтов(ипов), скрипт находит соседей по ипу, потом каждого чекает на трафф.
Трафф можно чекать тут:
http://siteanalytics.compete.com/
или на alexa.com
Привязка к пхп в принципе не обязательна, можно и любой другой язык.главное - кроссплатформа.
|
|
|

27.02.2009, 12:45
|
|
Members of Antichat - Level 5
Регистрация: 01.04.2007
Сообщений: 1,268
Провел на форуме: 10046345
Репутация:
4589
|
|
Нормальное оформление обязательно?) А так могу написать ..
|
|
|

27.02.2009, 14:11
|
|
Постоянный
Регистрация: 18.09.2006
Сообщений: 867
Провел на форуме: 2805813
Репутация:
1396
|
|
ну как нормальное - чтоб понятно было)) и конечно резалт чтоб можно было сейвить удобно))
|
|
|

02.03.2009, 17:47
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
фиг там, в исходниках нет данных
http://siteanalytics.compete.com/
давай другой сайт для статистики без таких геморов - сделаю
|
|
|

02.03.2009, 17:58
|
|
Участник форума
Регистрация: 22.10.2007
Сообщений: 138
Провел на форуме: 2454040
Репутация:
177
|
|
писал под свои нужды
чекает список доменов, на рейт в алексе, все что выше 500000 сохраняет в файлик
PHP код:
<?
function CheckTF($site)
{ $url = 'http://data.alexa.com/data/eDzm91i1J200a2?cli=10&ver=ff-1.3.0&dat=ns&cdt=rq%3D0%26wid%3D29917&ref=&url=http%3A%2F%2F'.$site;
$res = file_get_contents($url);
if (ereg ("(<POPULARITY URL=\"$site/\" TEXT=\")([0-9]{1,})(\"/>)", $res, $getrank))
return $getrank[2];
else
return false;
}
set_time_limit(0);
$filesource = 'sites.txt';
$fileres = 'result.txt';
$result = fopen($fileres, 'a+');
$fp = file($filesource);
for ($n=0;$n<count($fp);$n++)
{ $site = trim($fp[$n]);
if ($site!='' && strpos($site, '.'))
{
$rank = CheckTF($site);
if ($rank)
{ if ($rank < 500000)
{
echo $site."\t".$rank."\t!!!\n";
fwrite ($result,"$site\t$rank\n");
}
else
echo $site."\t".$rank."\n";
}
}
}
?>
под вин консоль написано, но можно и на сервер, тока \n нужно заменить на <br>, а \t на знак табуляции
|
|
|

02.03.2009, 20:35
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
В общем вот, накалякал чото, проверил только на двух сайтах, инфо цепляется в таком виде:
RANK: SnapShot of ostrie.ru (rank #3,379,392) - Compete
соседи сгребаются с 2ip.ru
Код:
PHP код:
<pre>
<?
@set_time_limit(0);
@ini_set("display_errors","1");
$ip_file = "ip.txt"; //Файл со списком IP на проверку (может быть просто домен вместо ip)
$log_file = "log123.txt"; //Файл, куда будут складываться результаты
$sleep = 0; // Пауза между запросами в секундах
function get($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.1) Gecko/2008070208');
$ss=curl_exec($ch);
curl_close($ch);
return $ss;
}
$handler=fopen($log_file,'a');
$ip = array_map("trim", file($ip_file));
$count = count($ip);
for ($i=0;$i<$count;$i++) {
$a=get('http://2ip.ru/server.php?ip='.$ip[$i]);
preg_match_all('|<li>([^<a href=.*>.*</a>].*)</li>|U',$a,$sosedi);
unset($sosedi[1][0]);
$count1 = count($sosedi[1]);
if($handler) fwrite($handler,"IP:{$ip[$i]} Соседей: $count1 " . "\r\n");
for ($z=1;$z<$count1;$z++) {
$site = str_replace('www.','',$sosedi[1][$z]);
$a=get('http://siteanalytics.compete.com/'.$site.'/');
preg_match('|<title>(.*)</title>|',$a,$rank);
if (empty($rank[1])) $stat = 0;
else $stat = $rank[1];
if($handler) fwrite($handler,"Сосед $z: {$sosedi[1][$z]}/ RANK: $stat " . "\r\n");
sleep($sleep);
}
echo "host: {$ip[$i]} is done\n";
if($handler) fwrite($handler,"-----------------------------------------------------" . "\r\n");
sleep($sleep);
}
fclose($handler);
?>
</pre>
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|