Перейти на главную страничку сайта (список статей, файлы для скачивания)

ФОРУМ (здесь, помимо прочего, можно обсудить саму программу AutoHotkey и проблемы её использования)

Анализ гиперссылок

Автор статьи и программы - Poltergeyst


В ходе движения по пространству Интернета возникает вопрос: каким образом обработать, систематизировать и упорядочить историю серфинга в целях сохранения ссылок на ресурсы, содержащие значимую информацию, с возможностью немедленного перехода?

Какой смысл тратить время и деньги, занимаясь повторным исследованием результатов поисковой машины в надежде увидеть ресурс, который когда-то был посещен, но адрес давно забыт или утрачен?

Стандартные браузеры IE и Opera лишь частично решают задачу, ведя протокол истории и поддерживая Избранное.

Такой Java-скрипт, вставленный в HTML-код произвольной страницы, просматривает все её ссылки и выводит их описание в окне сообщения порциями по пять штук (проверено на Opera 5.02, IE 5.0):

<SCRIPT>
//Анализ гиперссылок текущей страницы
var linkLength;
var linkHost;
var linkHref;
var linksStr;
var winDoc;

GetHyperlinks()

function GetHyperlinks()
{
    winDoc=window.document;
    linkLength=winDoc.links.length;
    alert("Количество найденных гиперссылок: " +linkLength);
    i=0
    for (j=0;j<linkLength;j++)
    {
        linkHost=document.links.item(j).host;
        linkHref=document.links.item(j).href;
        linkX=document.links.item(j).innerText;
        linksStr+=j+"_"+linkHost+" "+linkHref+"\n"
        if (i==5||linkLength-1==j)
        {
            i=0;
            if (confirm(linksStr)==0){return 0}
            linksStr=0
        }
        i+=1
    }
}
</SCRIPT>

В качестве систематического решения представлена простая скрипт-программа "Анализ гиперссылок" (HRA, HRef Analyser v1beta), выполненная на хорошо зарекомендовавшем себя рабоче-крестьянском AutoIt v3.1.1.127 с использованием вызовов ODBC API для доступа к базе данных (ODBC API способны быстро и надежно обеспечить создание больших по размеру баз).

Вы можете скачать программу здесь: hv1setup.zip (270 044 байт, v1.0 beta), hv1source.zip (43 572 байт, исходник + краткая инструкция по сборке).

Программа последовательно осматривает множество оффлайновых страниц локального компьютера - найденные в них ссылки на удаленные узлы добавляет в базу данных, где эти ссылки сортируются и упорядочиваются. Далее можно изучить множество найденных ссылок и перейти на любую из них с помощью задействованного объекта Web Browser.

В качестве дополнительных функций реализована возможность скачки файла стандартными средствами AutoIt и работа с портом в командном режиме.

Возможно, такая утилита будет полезна тем, кто профессионально работает в сети.

При разработке скрипта были использованы некоторые материалы ресурса Script-Coding, за что выражаю этому ресурсу большую благодарность.

Скрипт-программа изначально предназначена для W98/Me, но должна работать и в более совершенных операционных системах (примечание: на Windows XP SP2 - работает).

Эта программа отрабатывает множество моментов: создание установочного архива, оформление интерфейса, работа с базой данных и т.д. и вполне может стать платформой для создания нового приложения, чем она главным образом и ценна.

Оставляйте свои отзывы, замечания, предложения и вопросы здесь: http://forum.script-coding.info/viewtopic.php?id=245.

Версия 2.0 beta

Вы можете скачать программу здесь (389 397 байт).

В новой версии "Анализ гиперссылок" произошли некоторые изменения, которые являются своеобразной альтернативой методов и алгоритмов, примененных в версии 1.0 beta.

Изменился метод просмотра гиперссылок в отдельной странице. Теперь, вместо функций MS HTML Library, используется анализ текста HTML-страницы с помощью регулярных выражений, поэтому объект Shell.Explorer исключен.

Изменился алгоритм поиска файлов. Теперь, вместо последовательного перебора всех файлов с помощью Shell.Application, используется более целенаправленный поиск, построенный на совместном использовании объекта FileSystemObject и встроенных функций AutoIt.

Изменился способ перехода по ссылке - теперь ссылка открывается в обозревателе, зарегистрированном в вашей системе по умолчанию, с помощью вспомогательной htm-странички, которая динамически генерируется, открывается и перенаправляет обозреватель на нужный адрес.

Изменен интерфейс - внедрены новые классы элементов: строка состояния и панель инструментов с кнопками, реализованные на Win32 API; изменилось оформление главного окна.

Изменился механизм обработки сообщений от окна. Новый механизм не использует режим событий и построен на обработке сообщения WM_COMMAND для меню и кнопок панели инструментов и обработке возвращаемого значения функции GUIGetMsg для всех остальных элементов формы. Такой подход позволяет более рационально использовать ресурсы процессора.

ODBC API привод базы данных значительных изменений не претерпел.

Изменился способ инсталляции программы - теперь установка программы основана на совместном использовании JScript, объектов Automation и INF-скрипта расширенного формата (Advanced Inf). Такой подход позволяет "стандартизировать" установку, используя встроенные возможности операционной системы вместо специальной программы-инсталлера.

Дополнительной (скорее экспериментальной, чем штатной) возможностью, предоставляемой программой "Анализ гиперссылок", является Telnet-подобная работа с TCP портом. Подробности см. в файле readme.txt в архиве.


***

Новый релиз программы вы можете скачать здесь (464 394 байт). Теперь установочный скрипт должен автоматически определять тип операционной системы, а сам пакет локализован в SFX RAR архиве. Исправлена пара мелких ошибок в самой программе.

Версия 2.1 beta

Вы можете скачать программу здесь (441 648 байт).

В версию 2.1 beta добавлен механизм оптимизации базы данных, вызванный необходимостью удалять одинаковые избыточные записи, появляющиеся в ходе сканирования ссылок. Такие записи, соответствующие одинаковым ссылкам в разных документах, значительно увеличивают размер базы и время выборки данных.

Реализация механизма осуществлена примерно следующим образом:

  1. При добавлении новой ссылки в базу данных расчитывается и записывается в ключевое поле уникальный строковый хэш-индекс ссылки, построенный на оригинальном алгоритме.
  2. С помощью запроса, содержащего DISTINCT и INTO, создается таблица уникальных индексов,которая служит ключом для дальнейшей оптимизации.

Одновременная обработка нескольких таблиц вызвала необходимость в применении нескольких операторных дескрипторов (множественные hstmt).

Также добавлена возможность изменения цвета главного окна по усмотрению пользователя.

Во всем остальном 2.1 beta практически полностью соответствует версии 2.0 beta.


***

Новый релиз программы вы можете скачать здесь (449 654 байт). Немного улучшен инсталлятор.


***

Новый релиз программы вы можете скачать здесь (415 926 байт, версия 2.1.0.1 beta).

Устранена ошибка, возникающая в ODBC при добавлении ссылок значительной длины.

Добавлена возможность перетаскивания файлов и папок в область окна приложения методом Drag & Drop. В случае перетаскивания отдельной оффлайн страницы, она будет просмотрена на предмет гиперссылок, а в случае перетаскивания папки - будут просмотрены все найденные в ней оффлайн страницы.

В качестве контейнера ресурсов программы используется отдельная библиотека, что значительно удобнее хранения ресурсов в виде разрозненных файлов.

Для просмотра справочной информации задействован Internet Explorer, способный извлекать HTML страницы из библиотек ресурсов.

Также несколько оптимизированы инсталляционный и удаляющий скрипты.

Перейти на главную страничку сайта (список статей, файлы для скачивания)

© 2007 http://www.script-coding.info При любом использовании материалов сайта обязательна ссылка на него как на источник информации, а также сохранение целостности и авторства материалов.