Как узнать на каком я месте у Яндекса по определенному запросу?

123
42
На сайте с 14.02.2003
Offline
5
412
#11

Скрипт, который пролистает все до 384 позиции состоит не больше чем из 15-20 строк. Напишите, если сможете. Если не сможете - купите у какого-нибудь студента.

BB
На сайте с 25.03.2002
Offline
31
#12
Как писал Конспиратор
Kost,
За ответ спасибо, стоило ли вначале писать тот, довольно неуважительный первый ответ?

Уважаемый, думаю, что Вы упускаете из виду такое понятие, как "субъективность". А Ваша позиция субъективна, причем очень даже... :) Как, впрочем, и моя... ☝ И для того, чтобы не разжигать флеймы о том, кто кого "правильнее" и т.п., лучше всего вообще не переходить на личности - ищите рациональное зерно в каждом ответе, а не цепляйтесь за слова. Короче, не нужно ссориться, блин-компот 🍻

aktex.ru - аккумуляторный информационный портал (http://www.aktex.ru/)
К
На сайте с 06.04.2003
Offline
8
#13

Вобщем ладно... вопрос изжил себя, да и продолжать спор думаю не следует.

Закончим тему без взаимонеприятностей :)

🍻

Jully
На сайте с 16.04.2003
Offline
75
#14
Как писал 412
Скрипт, который пролистает все до 384 позиции состоит не больше чем из 15-20 строк. Напишите, если сможете. Если не сможете - купите у какого-нибудь студента.

На этом деле можно бизнес построить! Купить, а потом продавать эти данные за отдельную плату :D

Я не раз объясняла, что искать "384-е место" я не буду, потому как бессмысленно! А все продолжали настаивать!!!

C уважением, Юлия Интернет-агентство ARTRIX (http://www.artrix.ru)
euhenio
На сайте с 21.09.2001
Offline
357
#15

Этот убрал, сейчас будет новый вариант.

с ув., Евгений Трофименко seo блог Trofimenko.ru ( http://trofimenko.ru/ ) но ыыы мало обновляется... Tools.Promosite.ru - анализатор апдейтов Яндекса (пожертвуйте лимиты на Яндекс.XML! ( https://searchengines.guru/ru/forum/801888/page7#comment_11942489 )) Konvr.ru - увеличение конверсии сайта на 81% за 4 недели ( http://konvr.ru/ )
[Удален]
#16
print "\a\n\nYour fucking site is ".$num."-th in Yandex by the '".$word." query. OK?";

А какже 541-st, 653-th, 272-nd? ;)

К
На сайте с 06.04.2003
Offline
8
#17

print "\a\n\nYour fucking site is ".$num."-th in Yandex by ...

А зачем конкатенация?

Или это выработанный стиль?

euhenio
На сайте с 21.09.2001
Offline
357
#18

А что такое конкатенация? :(

Вот новый вариант. Не обессудьте, функции писались довольно давно, поэтому очень не оптимальны.:) Значит, ставится перл и запускается.


@words=('поисковые системы','энциклопедия поисковых систем','поисковики','яндекс','рамблер','апорт','google','раскрутка сайта','реклама сайта');
$site='searchengines.ru';

$needed='yrag';#yandex, rambler, aport, google
$maxpages=10;#SERPs
$delay=2;#before each query
###############################################

$code='%22%B8%E9%F6%F3%EA%E5%ED%E3%F8%F9%E7%F5%FA%FD%E6%E4%EB%EE%F0%EF%E0%E2%FB%F4%FF%F7%F1%EC%E8%F2%FC%E1%FE%22%B8%E9%F6%F3%EA%E5%ED%E3%F8%F9%E7%F5%FA%FD%E6%E4%EB%EE%F0%EF%E0%E2%FB%F4%FF%F7%F1%EC%E8%F2%FC%E1%FE';
$code=~s/(%[0123456789A-F][0123456789A-F])/push(@codes,$1)/eg;
$lett='"ёйцукенгшщзхъэждлорпавыфячсмитьбю"ЁЙЦУКЕНГШЩЗХЪЭЖДЛОРПАВЫФЯЧСМИТЬБЮ';
$lett=~s/(.)/push(@letters,$1)/eg;
push(@codes, '+');
push(@letters, ' ');

sub urlencode
{
my $str=$_[0];
my ($k, $i, $j);

for($k=0; $k<@codes; $k++)
{
$i=$codes[$k];
$j=$letters[$k];
$str=~s#$j#$i#eg;
};
return $str;
}

use LWP::UserAgent;
use HTTP::Request;
use URI::URL;
use HTTP::Headers;

$ua = new LWP::UserAgent;
$ua->agent('Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)');
$ua->max_size(100000);
$ua->timeout(50);


sub getdomain
{
my $paga=$_[0];
$paga=~s#^http://##ig;
if ($paga=~m#^(.*?)[?:/]#i) {$paga=$1};
return "http://".$paga;
}

sub full
{
my $parent=$_[0];
my $child=$_[1];
my $proto;
my $domains;
my $dir;
my $file;

if ($child=~m#\.(xls|doc|rtf|txt|gif|jpg|jpeg|mpg|mpeg|mp3|tiff|avi|wov|exe|zip|rar|gz|tar|bz2|bz|tgz|lha|lzh|arj|mov|wav|au|qt|mpe|midi|ra|ram|rm)#i) {return ''};

if ($child=~m#http://#i) {return $child};
if ($child=~m#^/#i)
{
if ($parent=~s|(https?://)?(([0-9a-zA-Z_-]+\.)+[0-9a-zA-Z_-]{2,3})((/[0-9a-zA-Z_-]+?)*?)/?([^/]*?[?#.][^/]*)?$|$proto=$1; $domain=$2; $dirs=$4; $file=$6|ige )
{
if ($proto eq '') {$proto='http://';};
$child=~s/#.*$//;
return $proto.$domain.$child;
};
}
else {
$child=~s#\.\./#/#ig;

if ($parent=~s|(https?://)?(([0-9a-zA-Z_-]+\.)+[0-9a-zA-Z_-]{2,3})((/[0-9a-zA-Z_-]+?)*?)/?([^/]*?[?#.][^/]*)?$|$proto=$1; $domain=$2; $dirs=$4; $file=$6|ige )
{
while ($child=~m#^/#)
{ if ($dirs=~m#/[0-9a-zA-Z_-]+$#)
{
$child=~s#^/##;
$dirs=~s#/[0-9a-zA-Z_-]+$##;
}
else {
print "incorrect link out of dirs\n";
$child=~s#^/##;
};
};
}
else {print "can't understand parent url..\n";};

$child="/".$child;
$child=~s#^//#/#;
if ($proto eq '') {$proto='http://';};

$child=~s/#.*$//;

return $proto.$domain.$dirs.$child;
};
}




sub get
{
my $urlo=$_[0];

$hdrs = new HTTP::Headers(Accept => 'text/html',ACCEPT_LANGUAGE => 'ru');
$url = new URI::URL($urlo);
$req = new HTTP::Request(GET, $url, $hdrs);
$req->referer($current);
sleep($delay);
$resp = $ua->request($req);


if ($resp->is_success)
{
$result=$resp->content;
print "\n Got ".$urlo;
$current=$urlo;
return $result;
}
else
{
$msg=$resp->message;
print $msg;
return 0;
};
};





for($i=0; $i<@words; $i++)
{
$word=$words[$i];
$currow="<td><font size=\"-1\">$word</font></td>";
$navrow='';


#######
if ($needed=~m#y#)
{
$current='http://www.yandex.ru/';
$num='000';
$p=0;
$navrow.="<td><font size=\"-1\"><a href=\"$current\" target=\"_blank\">$current</a></font></td>";
$page='http://www.yandex.ru/yandsearch?text='.urlencode($word);
$result=get($page);
while(!($result=~s#<li value=(\d+)>\s*<p>\s*<A onClick="r.this,'web'." href="http://([a-zA-Z0-9-]+\.)*$site#$num=$1#igse)&&($p<$maxpages))
{
$p++;
print "\n $p-th page...";
$result=~s#<A href="(\/yandpage\?[^"]*)" target=_self>Дальше&nbsp.&gt.&gt.</a>#$page=full($page,$1);#ei;
$result=get($page);
};
print "\n\nYour site is number ".$num." in Yandex by the '".$word." query.";
print "\nProgress: ".int(100*$i/(@words+0))."%\n\n";
$currow.="<td><a href=\"$page\" target=\"_blank\">$num</a></td>";
};
#######
if ($needed=~m#r#)
{
$current='http://www.rambler.ru/';
$num='000';
$p=0;
$navrow.="<td><font size=\"-1\"><a href=\"$current\" target=\"_blank\">$current</a></font></td>";
$page='http://search.rambler.ru/cgi-bin/rambler_search?words='.urlencode($word).'&where=1';
$result=get($page);
while(!($result=~s#<A href="/click\?i=[^&]*&amp.p=(\d+)&amp.d=\d+&amp._URL=http://([a-zA-Z0-9-]+\.)*$site#$num=$1+1;#igse)&&($p<$maxpages))
{
$p++;
print "\n $p-th page...";
$result=~s#<B>\d+</B>\s* . <A href="(/cgi-bin/rambler_search?words=[^"]*)">\d+</A>#$page=full($page,$1);#ei;
$result=get($page);
};
print "\n\nYour site is number ".$num." in Rambler by the '".$word." query.";
$currow.="<td><a href=\"$page\" target=\"_blank\">$num</a></td>";
};
#######
if ($needed=~m#a#)
{
$current='http://www.aport.ru/';
$num='000';
$p=0;
$navrow.="<td><font size=\"-1\"><a href=\"$current\" target=\"_blank\">$current</a></font></td>";
$page='http://sm.aport.ru/scripts/template.dll?r='.urlencode($word);
$result=get($page);
while(!($result=~s#<br><FONT class=sm>(\d+)</FONT></DIV><TD vAlign=top width=97.><DIV style=margin-top.2pt><a class=tb href=http://([a-zA-Z0-9-]+\.)*$site#$num=$1;#igse)&&($p<$maxpages))
{
$p++;
print "\n $p-th page...";
$result=~s#<td align=center><font>\d+</font></td><td align=center><font class=sm><A HREF=(/scripts/template.dll\?r=[^>]*)>\d+</a></font></td>#$page=full($page,$1);#ei;
$result=get($page);
};
print "\n\nYour site is number ".$num." in Aport by the '".$word." query.";
print "\nProgress: ".int(100*$i/(@words+0))."%\n\n";
$currow.="<td><a href=\"$page\" target=\"_blank\">$num</a></td>";
};
#######
if ($needed=~m#g#)
{
$current='http://www.google.com/';
$num='000';
$p=0;
$navrow.="<td><font size=\"-1\"><a href=\"$current\" target=\"_blank\">$current</a></font></td>";
$page='http://www.google.com/search?num=10&hl=ru&newwindow=1&q='.urlencode($word).'&lr=';
$result=get($page);
while(!($result=~s#<p class=g><a href=http://([a-zA-Z0-9-]+\.)*$site#$num=10*$p; $hlp='KTUDVUNRE';#igse)&&($p<$maxpages))
{
$p++;
print "\n $p-th page...";
$result=~s#<td nowrap><a href=(/search\?q=[^>]*)><img src=/intl/ru/nav_next.gif width=100 height=26 alt="" border=0><br><span class=b><b>Следующая</b></span></a>#$page=full($page,$1);#ei;
$result=get($page);
};
if ($num ne '000')
{
$result=~s#KTUDVUNRE.+$##s;
$result=~s#<p class=g>#$num++;#igse;
$num++;
};
print "\n\nYour site is number ".$num." in Google by the '".$word." query.";
print "\nProgress: ".int(100*$i/(@words+0))."%\n\n";
$currow.="<td><a href=\"$page\" target=\"_blank\">$num</a></td>";
};


###
$curout.="<tr>$currow</tr>\n";
};

$curout=~s#000#нету#g;
$n=$site;
$n=~s#\.#_#g;
$n.='.html';
open(F,">$n");
print F "<html><body><h3>$site</h3><table border=1 cellspacing=0 cellpadding=5><tr><td>Запрос|SE</td>$navrow</tr>\n$curout</table><p>Сайт на первых $maxpages страницах выдачи может быть не найден</body></html>";
close F;
print "\a";

К
На сайте с 06.04.2003
Offline
8
#19

Перлу не надо писать вот так:

print "some_text_start".$some_var."some_text_end".

он поймет и так:

print "some_text_start $some_var some_text_end".

т.е. автоматом определит, что посреди остального текста $some_var - это переменная, и подставит ее значение. Это если текст в двойных кавычках.

В твоем сслучае, не

print "\a\n\nYour fucking site is ".$num."-th in Yandex by ...

А

print "\a\n\nYour fucking site is $num-th in Yandex by ...

и т.д.

Ну это конечно на любителя.... может у тебя просто стиль такой выработался... после си:)

euhenio
На сайте с 21.09.2001
Offline
357
#20

А, это да.

Да нет, это привычка после многочисленных вставок из массивов типа ".$a[$i]."

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий