Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
21 ошибка прогр... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
ТЕХНОЛОГИИ ДОСТ... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Имитационное мо... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

Пользователей: 13,370
новичок: dogoco6
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Медиа плейер на Delphi + Пояснительная записка
База данных - рабочее место кассира на Delphi + бд Access
Моделирование автомойки на GPSS + Отчет + Блок схемы

ХАКАЕМ АПОРТ
Нет, подождите, ломать этот замечательный во всех отношениях поисковик никто не собирается! Ведь под хакерством всегда понималось улучшение характеристик системы, часто не совсем традиционными методами, но все-таки улучшение, а не голимый вандализм.
Чем плох "Апорт"? Точно тем же, что и другие поисковые сервера. Прежде чем окунуться в дремучую чащу запутанных ссылок приходится утомительно дожидаться загрузки главной страницы.
У "Апорта" она, правда, не самая большая, и ничуть не увешенная баннерами, как у некоторых других (вспомнить ту же "Альта-Вситу"), но все же это раздражает. Особенно на медленных каналах.
К тому же комфортным поиск ну никак не назовешь. Приходится постоянно прокручивать экран, что бы отыскать форму ввода, и с досадой обнаруживать, что условия поиска в ней напрочь отсутствуют. А когда ищется что-то вроде ("Кремниевая долина"+история - архив - обозреватель) то каждый раз вводить ее заново становиться утомительно.
Тем более, что как бы хорош ни был "Апорт" требуемого документа он может и не найти и тогда придется отправиться восвояси к другому поисковику, а то еще и не к одному сразу.
И это на пороге нового тысячелетия? А где же автоматизация человеческого труда? Компьютер, если вспомнить, был на то и придуман, что бы решать проблемы, а не создавать новые. Словом, текущее положение вещей нам не нравится, и мы, не дожидаясь милости от далеких забугорных фирм, хотим обеспечить свой комфорт самостоятельно.
Что для этого нужно? Всего лишь найти механизм взаимодействия с поисковой системой напрямую, минуя всякие там web-странички. А дальше его уже будет можно использовать по своему усмотрению.
Например, написать простой скрипт для поиска сразу на множестве серверов. Или хотя бы, по крайней мере, интегрировать поисковик с нашим "Рабочим Столом". А что? Неплохая идея - вот ей сейчас и займемся.
Было бы очень удобно, если бы в уголке рабочего стола сидела простая формочка, в которую стоит только ввести нужный фрагмент, а уж она дальше сама облазит все сайты, обойдет и Черта и Бога, но нужный документ нам найдет.
Вообще-то это тривиальная задача, которую автор решил едва ли не в первые дни после того, как подключился к Интернету. Каково же было его удивление, когда оказалось, что до такой простой штуки додумывались далеко не все его знакомые, которые до сих пор так бы и мучались, проклиная тупость поисковиков, день ото дня плодящихся как грибы.
Начнем сначала с теории. Гипертекст, в его привычном для нас HTML-ом виде, искать ничего не способен. Там просто нет таких функций. Даже Java и VBASIC скрипты не способны к таким операциям, поскольку исполняются на вашей локальной машине и если бы они затребовали всю много гигабайтную базу любого поисковика, то вероятнее, конец света наступил бы раньше, чем она приползла по хлипкому диалапному соединению.
Поэтому возможен только один вариант, - запускать программу поиска на удаленной машине. Это можно осуществить с помощью скриптов (как правило, написанных на Перле, но не обязательно)
Чаще всего у пользователя не оказывается никаких прав доступа к ним, кроме как возможности исполнения. То есть скачать скрипт, что бы разобраться с ним и малость поправить его по своему усмотрению, оказывается нельзя.
Но это и не важно. Все равно в них не содержится ничего интересного, кроме интерфейса, то есть кода, обеспечивающего обмен между собственно самим поисковым кодом и браузером, находящимся на вашей машине.
Запуск при этом может выглядеть как: http://ИмяХоста/ИмяСкрипта?параметры. Именно это и происходит, когда вы работаете с поисковиком нормальным образом. С формы, расположенной на страничке, считывается строка и описанным выше способом передается скрипту на выполнение.
Осталось только узнать имя скрипа и поисковиком будет можно пользоваться, вовсе не обращаясь к его web-страничке, или, например, встроить код вызова в свою собственную! А почему бы и нет? Глядишь, у вас и посещаемость возрастет. Кстати, создание подобной специализированной странички, последовательно опрашивающей все существующие поисковые сервера и каталоги ресурсов, не такая плохая идея и ниже будет показано, как это сделать.
Итак, отправляемся в гости к "Апорту" и дожидаемся окончания загрузки его главной страницы. Теперь необходимо проанализировать HTML-код и найти то место, в котором происходит вызов скрипта и передача ему параметров.
Непосвященным в тонкости программирования гипертекста скажу, что в большинстве случаев для этого достаточно найти следующую последовательность "form action=" Она,конечно, не единственно возможный вариант, но весьма популярный среди разработчиков, так что этот прием срабатывает достаточно часто.
Итак, выбираем в меню "Вид" пункт "В виде HTML" и находим следующие строки:

table border=0 cellpadding=0 cellspacing=0 width=700
form action=http://www.aport.ru/search.asp method=get name=form1

Смотрите, что бы обратиться к поисковому механизму напрямую, достаточно вызвать search.asp и передать ему в качестве параметра требуемые критерии поиска.
Например, попробуем найти всю доступную информацию о фирме Microsoft. Наберем для этого в строке браузера следующее: http://www.aport.ru/search.asp?r=Microsoft и пройдет совсем-совем немного времени, как "Апорт" подумает и выдаст следующее:

Апорт нашел 1000 документов на 341 сайте по запросу: Microsoft
Неплохо для начала, не так ли? Мы не только сэкономили чуточку времени, но и получили возможность без труда встраивать вызовы поискового механизма в свои странички. Как вам понравится следующее:
Точно так же можно обращаться и к другим сайтам, не только к апорту. Кстати, формат вызова скриптов с других поисковиков можно узнать на странице того же "Апорта".
Поисковик
URL скрипта
АльтаВиста
http://www.altavista.com/cgi-bin/query
Yahoo!
http://search.yahoo.com/bin/search
Lycos
http://www.lycos.com/cgi-bin/pursuit
Infoseek
http://infoseek.go.com/Titles
HotBot
http://www.hotbot.com
MSN
http://search.msn.com/results.asp
И совсем несложными приемами можно передать один запрос множеству серверов. Но вот только в чем незадача. Все они откроют кучу окон, куда начнут вываливать уйму бесполезной информации, которая большей частью будет дублироваться.
Наверное поэтому, такой подход так и не завоевал популярности, и мы до сих пор по старинке перебираем все сервера друг за другом пока не найдем хоть что-то интересное.
Но хакеры мы или нет? Неужели не существует красивого и оригинального решения. К счастью оно есть и ниже будет рассказано, как это сделать.
В чем основная трудность в подобном подходе? Нам не нравится то, что разбор ответов множества поисковиков ложится на наши плечи, а его прием на наш хлипкий канал. Вот если бы у нас был шустрый сервер, который мог бы все это принять, обработать, отсортировать, исключить повторяющиеся ссылки и вернуть в виде компактного ответа на нашу машину... Да, вот еще бы он и ссылки заодно проверил, не мертвые ли они там чай (известная "болезнь" всех поисковиков)
Но такой сервер у нас как раз таки есть, то есть может быть! Как говорилось выше, перловые (да и не только) скрипты можно выполнять на удаленном компьютере. То есть, говоря другими словами, на сервере с быстрым каналом, который принимает мегабайты информации, обрабатывает ее и возвращаем нам компактный и лаконичный ответ.
Остается только найти службу, предоставляющую халявный доступ к CGI-BIN директории, то есть к той самой, куда мы и поместим наш перловый скрипт. Вообще-то за такой сервис принято взимать хотя бы символическую плату, но некоторые провайдеры расщедриваются на него бесплатно. Загляните, например, к http://www.virtualave.net/. Правда, хостиг вам предоставят не стразу, а в течение суток (как правило, только на следующий день), но это приемлемый срок, да и при желании можно найти множество других мест в Интернете с аналогичным сервисом. Не все из них, правда, будет шибко быстрыми, так что проверяйте этот аспект в первую очередь.
Теперь, собственно, остается всего-навсего написать такой скрипт. На само же деле это "всего-навсего" представляет трудную нетривиальную задачу и может отнять много времени, в течение которого существует хорошая возможность освоить все тонкости Перла или любого другого языка.
Ведь в CGI-BIN директории можно исполнить любой файл - от батничка, до программы на Си или Паскаль. Так что выбирайте на чем будете писать такой проект по своему вкусу. А к моменту опубликования этой статьи вы имеете все шансы ознакомиться с разработкой автора, который сейчас и работает над подобной задачей.
Быть может это будет новой вехой в истории развития поисковиков. И быть может среди читателей найдутся те, чей вариант окажется самым привлекательным и войдет в историю. Так что дерзайте.
Но это все относиться к "монстрам" программирования, а для начинающих предложим задачку попроще. Поместим вызов "апорта" на наш активный Рабочий Стол! Так, что бы можно было, не отрываясь от текущего положения дел просто ткнуть мышью в угол экрана, и быстро набить запрос, не отвлекаясь на всякие мелочи.
Вообще-то можно было сохранить страницу "Апорта" на диске и без мучений вывести ее на Рабочий Стол, с чем пятый Эксплорер справляется за раз. Но вот только страничка от "Апорта" слишком громоздкая и на экране ее разместить ну никак не удастся.
На этом собственно и все. Остается только добавить на рабочий стол, "Экран-Свойства-Интернет-Созадть-Aport.htm" и она тут же появиться на нем!
Изменим размеры окна, одновременно с этим растягивая его в ширину. А после отбуксируем в любое место экрана по своему вкусу, так, что бы получилось нечто похожее на следующее:

Наберем теперь критерий поиска и клацнем по кнопке "Search" и нажмем Enter. Если все было сделано правильно, то тут же откроется новое окно браузера и "Апорт" вывалит в него результаты поиска.
Заметим, что при этом они не исчезли из нашей формы. И не потребуется никакого труда ее изменить, например, следующим образом Microsoft + "Билл Гейтс"
Просто? Удобно? А теперь попробуйте сделать так, что бы "Апорт" не открывал нового окна, выдавал ответ в специально отведенное для него место экрана.
Уверяю, что это доставит немалое удовольствие, да и комфорт работы повысит то же. Активный рабочий стол это действительно революционное изобретение Microsoft., в чем вы еще не раз убедитесь.
Фактически вы можете самостоятельно спроектировать и создать среду общения, рассчитанную на ваши привычки и вкусы.
Например, выданный "Апортом" ответ можно дополнительно пропустить через Java скрипт или VBASIC скрипт, можно запоминать и кешировать предыдущие ответы "Апорта", да мало ли, что может вам взбрести в голову!
Так у автора работает бесхитростный скрипт, который по ключевым словам "живая камера" каждый раз ищет что-нибудь новое и случайным образом выводит одну из них в угол экрана. Вроде бы мелочь, а как умеет поднять настроение! KPNC
Опубликовал Kest October 26 2008 13:38:41 · 0 Комментариев · 6924 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Нет комментариев.
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
Dealer
Редактор анимаций
MxProtector
Функции Visual Basic
Borland Delphi 8 ...
Indy in Depth Глу...
SysInfo [Исходник...
Советы от Даниилы...
Добавление басса ...
PHP в примерах
C++ Builder в за...
Print Grid
PHP 5 на примерах
Программа рисует ...
ProLIB18
Пишем программы и...
CABfiles
JanComp
Измерение тактово...
PDPcheck

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97836
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7374
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Типы сообщений про...
Мы ознакомимся с о...
Рекурсивные методы...
Некоторые пытаются...
Установка голубого...
Вы используете кли...
Первая публикация
открытый и закрыты...
Фрикинг таксофонны...
Гостевая книга на PHP
ESP защищает целос...
Выбор переключателя
File not open for ...
Преимущества игры ...
Старда казино
Выбирайте правильн...
Функции обработки ...
Вулкан Победа
Кодирование инстру...
Формулы
Глава 2. Эпизод из...
Виртуальные игровы...
Создание рекламног...
Язык С: директива ...
плана безопасности
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?