Доброго времени суток, многие из вас наверное слышали про скрытые ЯК‘и. Некоторые почему то когда видят словосочетание «скрытый як» начинают думать про какой то мистический — скрытый ото всех ресурс ЯШИ. Сайт в скрытом яке это ничто иное как сайт с присвоенной ему тематикой. Всё. Плюсы — тИЦ растёт так, как если бы вы были в ЯК. Ссылку на готовую программу скину сейчас, дабы не томить тех кому не интересна программная реализация. Скачать программу для массовой проверки доменов на скрытый ЯК (в конце поста можно узреть скрин).
Оказаться в скрытой части яка можно по разному, например раньше сайт был в Яндекс каталоге но потом вылетел — частенько бывает такое что тематика которая ему была присвоена остается. Или например (как говорят люди), при добавление в директ — так же присваивается тематика, так же можно отправить заявку на добавление своего сайта в ЯК на платной основе и если модеры проверят ваш сайт и одобрят, то могут присвоить ему тематику. Потом просто не оплачиваем заявку и вуаля.
Собственно не суть важно, речь пойдёт о том как узнать находится ли сайт в скрытом ЯК или нет. В принципе тут всё понятно — сайту должна быть присвоена тематика, но в Яндекс каталоге его не должно быть.
Узнать присвоена ли тематика сайту можно по бару:
bar-navig.yandex.ru
составляем запрос:
http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://wooden-stool.ru
и если видим что в » прописана тематика, но в тоже время сайт не ищется в Яндекс каталоге, то сайт в скрытом яке.
Ладно тут разобрались, теперь перейдём к кодингу, а именно напишем простенькую программу на Delphi, которая будет массово проверять находится ли сайт в скрытом ЯК. Собсна запускаем Delphi, создаем проект, кидаем на форму ‘XMLDocument’ с вкладки ‘Internet’, 1 батон и два ‘memo’.
План действий следующий:
- 1. Получить инфу с бара (она там в XML)
- 2. распарсить всё это дело и получить необходимые нам данные — тематику
- 3. если тематика сайту не присвоена, то лесом его и переходим к другому сайту
- 4. в противном случае лезем сюда ‘yaca.yandex.ru’ и смотрим ищется ли сайт, если нет то это скрытый ЯК.
Теперь непосредственно сам код, комментировать его не буду т.к. проще некуда но если возникнут вопросы велком в комменты (в любом случае выложу готовую скомпилированную софтину)
var data, tema, url, z: string; i:integer; s:tstringlist; begin for i:=0 to memo1.lines.Count-1 do begin label1.caption:='Проверено '+inttostr(i)+' из '+inttostr(memo1.lines.count-1); application.ProcessMessages(); z:=LowerCase(trim(memo1.lines[i])); s:=tstringlist.Create(); s.text:=idhttp1.Get('http://bar-navig.yandex.ru/u?ver=2&show=32&url=http://'+z); s.SaveToFile('xml.txt'); XMLDocument2.LoadFromFile('xml.txt'); tema:=VarToStr(XMLDocument2.DocumentElement.ChildNodes['topics'].ChildNodes['topic'].Attributes['title']); if length(tema) > 0 then begin memo3.lines.add(z); data:=idhttp1.Get('http://yaca.yandex.ru/yca?text='+z+'&yaca=1'); if pos(ansitoutf8('Найдено по описаниям сайтов — 0'),data) > 0 then begin memo2.lines.add('=============================='+#13#10+z); memo3.lines.add(z); url:=VarToStr(XMLDocument2.DocumentElement.ChildNodes['url'].Attributes['domain']); url:=StringReplace(url,'www.','',[rfReplaceAll, rfIgnoreCase]); if length(z) > 0 then begin if not (z = url) then memo2.lines.add('ВОЗМОЖНО КЛЕЙ С: '+url); end; z:=VarToStr(XMLDocument2.DocumentElement.ChildNodes['tcy'].Attributes['value']); if length(z) > 0 then memo2.lines.add('тИЦ: '+z); z:=VarToStr(XMLDocument2.DocumentElement.ChildNodes['textinfo'].text); s.text:=StringReplace(z,#10,#13#10,[rfReplaceAll, rfIgnoreCase]); if length(z) > 0 then begin memo2.lines.add('[ textinfo ]'+#13#10+s[2]); memo2.lines.add(s[3]); memo2.lines.add(s[4]+#13#10+#13#10); end; end; end; end;
Вот в принципе и всё, простая программа для проверки сайта в скрытом ЯК. Ах да, на форму ещё надо кинуть лейбл и 3 memo. В первое текстовое поле вбиваем домены, а во втором поле будут скрытые яки и информация по ним — тиц, регион, тематика.
Отдает http 1/1 302 found
-
gloys Говорит:
26.08.2013 at 11:19 пп
handleredirects у idhttp на true измените
-
Devvver Говорит:
03.09.2013 at 10:41 пп
Вот это не получается
data:=idhttp1.Get(‘http://yaca.yandex.ru/yca?text=’+z+’&yaca=1′);
#10060 таймаут, победить не могу, что за гадость? вариант с try тоже не помогает