FoxBase!
msgbartop
Блог Oracle разработчика
msgbarbottom
foxbase

15.10.2010 Как узнать ТИЦ Яндекса на Delphi

ТИЦ Яндекс
При разработке приложений на 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 - Сектор. Значение, присвоенное Яндексом, если сайт находится в Яндекс каталоге.

www.foxbase.ru


Смотрите также:



Оставьте свой комментарий

Вы должны быть авторизированны, чтобы оставить комментарий.