Ни так давно захотел определить PR блога без SEO сервисов с помощью Delphi.
Все оказалось ни так просто, как на Yandex'e при определении ТИЦ'а. Чтобы получить ТИЦ для тех, кто не знает или просто ни когда об этом, ни задумывался, необходимо выполнить запрос такого вида:
http://search.yaca.yandex.ru/yca/cy/ch/[URL сайта без http:\\]/
Пример:
http://search.yaca.yandex.ru/yca/cy/ch/nmdsoft.blogspot.com/
и немного распарсить страницу и получим искомый нами ТИЦ
У google все оказалось на много запущение (скорее всего это было сделано для того, чтобы пользователи устанавливали предоставляемый Google тулбар), для того чтобы получить PageRang нашего блога или сайта неважно)) нам необходимо выполнить запрос следующего вида:
http://www.google.com/search?client=navclient-auto&ch=[CHECKSUMM]&features=Rank&q=info:[адрес сайта с http:\\]
Пример:
http://www.google.com/search?client=navclient-auto&ch=86C47EA7D&features=Rank&q=info:http://nmdsoft.blogspot.com/
CHECKSUMM-это как раз, что мешает получить PageRang сайта без программного кода простым выполнением запроса.
Для вычисления контрольной суммы используем вот эту функцию, которая после ввода URL сайта нам в ответ возвращает готовую ссылку перейдя по которой мы можем получить PR сайта (парсинга там требуется еще меньше чем в яндексе так, как там кроме надписи Rank_1:1:XX ни чего нет))
Код функции для Delphi
function Check_PR(aUrl: string): string;
const
seed='Mining PageRank is AGAINST GOOGLE'#39'S TERMS OF SERVICE. Yes, I'#39'm talking to you, scammer.';
var
i,urllen,seedlen,key: DWORD;
begin
key:=16909125;
seedlen:= Length(seed)+1;
urllen:= Length(aUrl);
for i:=1 to urllen do
begin
key:= key xor (Ord(seed[i mod seedlen]) xor Ord(aUrl[i]));
key:= key shr 23 or key shl 9;
end;
result:='http://www.google.com/search?client=navclient-auto&ch=8'+IntToHex(key,8)+'&features=Rank&q=info:'+aUrl;
end;
Данная функция хороша тем от готовых компонентов, что вы сами можете выбрать, чем вы будете выполнять запросы, будь то Indy или Synapse ну или ICS.
Функцию нашел путем поиска в гугле seed='Mining PageRank is AGAINST GOOGLE так, что я не первый и не последний))
Кого интересует код на других языках программирования можете посмотреть home.zhiwei.li/
"URL сайта без http:\\" - это называется домен. И правильно было бы http://
ОтветитьУдалитьА вообще спасибо за статью, откуда алгоритм вычисления CHECKSUMM?
вы правы
ОтветитьУдалитьне за, что))
сначала нашел тут home.zhiwei.li/pagerank
а потом уже по seed='Mining PageRank is AGAINST в GOOGLE нашел то что надо))
А Гугл разрешает получение информации не его "методами"?
ОтветитьУдалитьЕсли я правильно понимаю то, о чём идёт речь, то в заголовке у вас ошибка. PageRank...
ОтветитьУдалитьФиля Тарантас спасибо
ОтветитьУдалитьА Гугл разрешает получение информации не его "методами"? этот метод они используют в тулбаре своем. вы же не собираетесь нарушать работу сервиса
ОтветитьУдалитьхм..странно, но не все сайты правильно определяет :(
ОтветитьУдалитьseotrancer
ОтветитьУдалитьтестировал, но небольшое количество сайтов и все вроде норм было.
Протестил - работает! спс за статью.
ОтветитьУдалитьПомоему уже не работает.
ОтветитьУдалить