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

ТИЦ Яндекс
При разработке приложений на Delphi, которые работают с интернетом, может потребоваться узнать ТИЦ того или иного ресурса, а также находится этот ресурс в каталоге Яндекса или нет, и если находится, какая тематика присвоена ресурсу и другие параметры каталога.
Сделать это на Delphi несложно, используя Indy. Вот пример функции, которая получает вышеперечисленные параметры заданного ресурса:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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 – Сектор. Значение, присвоенное Яндексом, если сайт находится в Яндекс каталоге.

Related Post

JavaScript на Delphi При разработке интернет...
Indy TIdHTTP.GET и русские символы в HTML... Решив проблемы с кодиро&...

One thought on “Как узнать ТИЦ Яндекса на Delphi

Leave a Reply

Your email address will not be published. Required fields are marked *