При разработке приложений на Delphi, которые работают с интернетом, может потребоваться узнать ТИЦ того или иного ресурса, а также находится этот ресурс в каталоге Яндекса или нет, и если находится, какая тематика присвоена ресурсу и другие параметры каталога.
Сделать это на
Delphi несложно, используя
Indy. Вот пример функции, которая получает вышеперечисленные параметры заданного ресурса:
procedure YandexParam(url: string; var tic,rang: integer; var theme,region,source,sector: string);
var http: TDeepHTTP;
ProxyRec: TProxyRec;
html: string;
s: string;
i,j: integer;
function GetValue(Mask,Text: string): string;
var i,k: integer;
begin
Result:='';
k:=Pos(Mask,Text);
if k=0 then Exit;
k:=k+length(Mask);
if Text[k]='"' then inc(k);
for i := k to Length(Text) do
if Text[i]='"' then
begin
Result:=Copy(Text,k,i-k);
Exit;
end;
end;
begin
http:=TIdHTTP.Create(nil);
try
html:=http.Get('http://bar-navig.yandex.ru/u?ver=2&url=http://'+url+'&show=0');
if Pos('tcy rang',html)=0 then
raise Exception.Create('Cannot get yandex param. May be Captcha?');
s:=GetValue('<tcy rang=',html);
rang:=StrToInt(s);
s:=GetValue('value=',html);
tic:=StrToInt(s);
i:=Pos('<textinfo>',html);
i:=PosEx('Тема:',html,i);
if i=0 then
begin
theme:='';
region:='';
source:='';
sector:='';
end else
begin
j:=PosEx(#10,html,i);
theme:=Copy(html,i+5,j-i-5);
i:=PosEx('Регион:',html,i);
j:=PosEx(#10,html,i);
region:=Copy(html,i+8,j-i-8);
i:=PosEx('Источник:',html,i);
j:=PosEx(#10,html,i);
source:=Copy(html,i+10,j-i-10);
i:=PosEx('Сектор:',html,i);
j:=PosEx('</',html,i);
sector:=Copy(html,i+8,j-i-8);
end;
finally
http.Free;
end;
end;
URL, который передается в эту функцию не должен содержать 'http://'. URL может быть с www или без, иногда показатели с www могут отличаться от URL без www.
Функция возвращает следующие данные:
- tic - Значение ТИЦ (Тематический Индеск Цитирования) заданного ресурса, присвоенный Яндексом. Вожделенный параметр для многих веб-мастеров. Этот сайт на момент написания статьи имеет ТИЦ равный 20.
- rang - Ранг сайта. Параметр Яндекса, который назначается любому интернет ресурсу. Чем выше параметр, тем, очевидно, лучше. Этот сайт на момент написания этой статьи имеет ранг равный двум.
- theme - Тематика Яндекс Каталога, присвоенная сайту, если проверяемый сайт находится в этом каталоге.
- region - Регион сайта, если таковой присвоен проверяемому сайту.
- source - Источник. Значение, присвоенное Яндексом, если сайт находится в Яндекс каталоге.
- sector - Сектор. Значение, присвоенное Яндексом, если сайт находится в Яндекс каталоге.
Смотрите также:
Оставьте свой комментарий
Вы должны быть авторизированны, чтобы оставить комментарий.