Способ идентификации целевого объекта на веб-странице
Иллюстрации
Показать всеТехническим результатом является расширение арсенала технических средств идентификации целевого объекта на веб-странице. В способе идентификации целевого объекта на веб-странице, связанной с инструкциями отрисовки для отрисовки элементов веб-страниц на веб-странице, получают инструкции отрисовки, связанные с веб-страницей. Идентифицируют кандидат на целевой объект среди элементов веб-страниц и выполняют отрисовку на экране электронного устройства веб-страницы на основе инструкций отрисовки. Осуществляют проверку для подтверждения того, что кандидат на целевой объект является целевым объектом. В процессе проверки применяют набор предварительно определенных правил на основе характеристик отрисованного целевого объекта к отрисованной версии кандидата на целевой объект. Определяют значение характеристики отрисованного объекта и проверяют каждое правило в наборе предварительно определенных правил с значением характеристики отрисованного объекта. Назначают параметр вероятности того, что кандидат на целевой объект является целевым объектом, причем параметр вероятности основан на результате проверки каждого правила. 2 н. и 19 з.п. ф-лы, 5 ил.
Реферат
Область техники, к которой относится изобретение
[01] Настоящее техническое решение относится к способам и системам идентификации целевого объекта на основе отрисованной браузером версии веб-страницы.
Уровень техники
[02] За последние годы использование интернет-контента, например, веб-страниц в интернете, веб-рекламы, электронных форм и так далее, обрело широкую популярность в обработке данных. Некоторые веб-страницы могут включать в себя различные элементы веб-страниц, причем некоторые из них статичные, а некоторые являются интерактивными. Эти элементы веб-страниц могут быть различных типов и могут быть связаны со множеством визуальных характеристик благодаря своему многообразию и различной природе.
[03] Обычно веб-страница определяется документом, содержащим код языка разметки гипертекста HyperText Markup Language (HTML). HTML-документ, подходящий для размещения в интернете, включает в себя «контент» и «разметку». Контент является информацией, которая описывает текст веб-страницы или иной информацией для отображения или воспроизведения на экране компьютера, в динамиках и т.д. Разметка является информацией, которая описывает характеристики отображения веб-страницы, например то, как отображается контент, и как через веб-страницу может быть доступна иная информация.
[04] Для предоставления информации в сети и услуг по интернету, веб-сеть использует клиентские компьютеры, браузерное программное обеспечение и сервера. Клиентский компьютер является компьютером, который используется человеком для соединений с интернетом и доступа к веб-страницам. Браузер является программным приложением, расположенным на клиентском компьютере, которое запрашивает у сервера по интернету веб-страницу. После получения веб-страницы браузер отображает элементы веб-страницы на экране клиентского компьютера. Сервер является компьютером, который сохраняет или содержит в себе информацию веб-страниц, извлекает эту информацию в ответ на запрос браузера и отправляет ее по интернету на клиентский компьютер.
[05] Более конкретно, браузерное программное обеспечение может включать в себя графический движок для отрисовки информационного содержания с соответствующей разметкой на экране клиентского компьютера. Графический движок отвечает за отображение контента, который видит пользователь. Он обменивается данными с сетевым уровнем браузера для извлечения HTML-кода и других элементов, передаваемых с сервера. Отрисовка обычно осуществляется с помощью выполнения следующих шагов: разбора (англ. «parsing», парсинга) HTML, конструирования дерева отрисовки, обработки шаблона и рисования.
[06] HTML-код является иерархической структурой, которая начинается с тега <html>, обычно содержит в себе теги <head> и <body>, а также включает в себя контент веб-страницы, который соответствует различным элементам веб-страницы. Эти элементы веб-страницы разбираются и переводятся в дерево объектной модели документа (англ. Document Object Model, DOM) с помощью графического движка. Дерево DOM является структурой, в которой каждый тег является веткой. Атрибуты стиля также передаются с центрального сервера перед разбором и сочетанием с деревом DOM для создания дерева отрисовки. Дерево отрисовки является структурой визуальных характеристик (например, высота/ширина, стиль), расположенных в иерархическом порядке, в котором они должны быть отображены в браузере.
[07] После построения дерева отрисовки графический движок рекурсивно проходит через элементы веб-страниц в дереве DOM, и определяет, где они должны быть расположены на экране. Другими словами, элементы веб-страниц и их характеристики проецируются на координаты экрана на основе своих соответствующих позиций. Каждая ветка дерева отрисовки появляется на экране посредством обмена данными с интерфейсом операционной системы клиентского компьютера.
[08] Элементы веб-страниц могут соответствовать различным известным визуальным элементам на веб-странице. Например, элементы веб-страниц могут соответствовать веб-рекламе, видео, интерактивным объектам, электронным формам и так далее.
Раскрытие изобретения
[09] Настоящее техническое решение позволяет расширить арсенал технических средств идентификации целевого объекта на веб-странице.
[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] В контексте настоящего описания, если конкретно не указано иное, термин «используемый компьютером носитель компьютерной информации» подразумевает под собой носитель абсолютно любого типа и характера, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д.
[44] В контексте настоящего описания, если конкретно не указано иное, термин «интерактивный» подразумевает под собой, что нечто (или по меньшей мере его часть) может реагировать на пользовательский ввод.
[45] В контексте настоящего описания, если конкретно не указано иное, «указание» информационного элемента может представлять собой сам информационный элемент или указатель, отсылку, ссылку или другой косвенный способ, позволяющий получателю указания найти сеть, память, базу данных или другой машиночитаемый носитель, из которого может быть извлечен информационный элемент. Например, указание на файл может включать в себя сам файл (т.е. его содержимое), или же оно может являться уникальным дескриптором файла, идентифицирующим файл по отношению к конкретной файловой системе, или каким-то другими средствами передавать получателю указание на сетевую папку, адрес памяти, таблицу в базе данных или другое место, в котором можно получить доступ к файлу. Как будет понятно специалистам в данной области техники, степень точности, необходимая для такого указания, зависит от степени первичного понимания того, как должна быть интерпретирована информация, которой обмениваются получатель и отправитель указателя. Например, если до установления связи между отправителем и получателем понятно, что указание информационного элемента принимает вид ключа базы данных для записи в конкретной таблице заранее установленной базы данных, содержащей информационный элемент, то передача ключа базы данных - это все, что необходимо для эффективной передачи информационного элемента получателю, несмотря на то, что сам по себе информационный элемент не передавался между отправителем и получателем указания. Каждый вариант осуществления настоящего технического решения преследует по меньшей мере одну из вышеупомянутых целей и/или объектов. Следует иметь в виду, что некоторые объекты настоящего технического решения, полученные в результате попыток достичь вышеупомянутой цели, могут удовлетворять и другим целям, отдельно не указанным здесь.
[46] Дополнительные и/или альтернативные характеристики, аспекты и преимущества вариантов осуществления настоящего технического решения станут очевидными из последующего описания, прилагаемых чертежей и прилагаемой формулы изобретения.
Краткое описание чертежей
[47] Для лучшего понимания настоящего технического решения, а также других его аспектов и характерных черт сделана ссылка на следующее описание, которое должно использоваться в сочетании с прилагаемыми чертежами, где:
На ФИГ. 1 схематически представлена сетевая система, выполненная в соответствии с вариантами осуществления настоящего технического решения;
На ФИГ. 2 представлен пример отрисованной браузером версии веб-страницы;
На ФИГ. 3 представлен пример отрисованной браузером версии веб-страницы;
На ФИГ. 4 представлен пример отрисованной браузером версии веб-страницы;
На ФИГ. 5 представлен способ идентификации целевого объекта на веб-странице, выполненный в соответствии с вариантом осуществления настоящего технического решения.
Осуществление изобретения
[48] На Фиг. 1 схематически изображена сетевая система 100, которая соединена по сети 108 передачи данных. Важно иметь в виду, что нижеследующее описание сетевой системы 100 представляет собой описание показательных вариантов осуществления настоящего технического решения. Таким образом, следующее описание должно рассматриваться только как описание иллюстративного варианта осуществления настоящего технического решения. Это описание не предназначено для определения объема или установления границ настоящего технического решения. Некоторые полезные примеры модификаций сетевой системы 100 также могут быть охвачены нижеследующим описанием. Целью этого является также исключительно помощь в понимании, а не определение объема и границ настоящего технического решения. Эти модификации не представляют собой исчерпывающий список, и специалистам в данной области техники будет понятно, что возможны и другие модификации. Кроме того, те случаи, в которых не были представлены примеры модификаций, не должны интерпретироваться как то, что никакие модификации невозможны, и/или что то, что было описано, является единственным вариантом осуществления этого элемента настоящего технического решения. Как будет понятно специалисту в данной области техники, это, скорее всего, не так. Кроме того, следует иметь в виду, что сетевая система 100 представляет собой в некоторых конкретных проявлениях достаточно простой вариант осуществления настоящего технического решения, и в подобных случаях представлена здесь с целью облегчения понимания. Как будет понятно специалисту в данной области техники, многие варианты осуществления настоящего технического решения будут обладать гораздо большей сложностью.
[49] Реализация линии передачи данных никак конкретно не ограничена и будет зависеть от того, какие устройства подключены к сети 108 передачи данных. В качестве неограничивающего примера, соединение сервера 110 с сетью 108 передачи данных может быть выполнено с помощью проводного соединения (например, соединение на основе сети Ethernet). В то же время другие устройства могут быть соединены другим способом. В тех примерах, где присоединенное устройство представляет собой беспроводное устройство связи (например, смартфон), соединение представляет собой беспроводную сеть передачи данных (например, среди прочего, линию передачи данных 3G, линию передачи данных 4G, беспроводной интернет Wireless Fidelity или коротко WiFi®, Bluetooth® и т.п.). В тех примерах, где электронное устройство 104 представляет собой стационарный компьютер, линия передачи данных может быть как беспроводной, так и проводной (соединение на основе сети Ethernet). Сетевая система 100 содержит в себе сервер 110. Сервер 110 может представлять собой обычный компьютерный сервер. В примере варианта осуществления настоящего технического решения, сервер 110 может представлять собой сервер Dell™ PowerEdge™, на котором используется операционная система Microsoft™ Windows Server™. Излишне говорить, что сервер 110 может представлять собой любое другое подходящее аппаратное и/или прикладное программное, и/или системное программное обеспечение или их комбинацию. В представленном варианте осуществления настоящего технического решения, не ограничивающем его объем, сервер 110 является одиночным сервером. В других вариантах осуществления настоящего технического решения, не ограничивающих его объем, функциональность сервера 110 может быть разделена, и может выполняться с помощью нескольких серверов. В некоторых вариантах осуществления настоящего технического решения сервер 110 может содержать в себе программное обеспечение поисковой системы (не изображено) и может также управляться поставщиком поисковой системы, например, Яндекс™.
[50] Сервер 110 включает в себя носитель 112 информации, который может использоваться сервером 110. В общем случае носитель 112 информации может быть выполнен как носитель любого характера и вида, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. а также их комбинацию.
[51] Варианты осуществления сервера 110 хорошо известны. Таким образом, достаточно отметить, что сервер 110 содержит, среди прочего, интерфейс сетевой связи (например, модем, сетевую карту и тому подобное) для двусторонней связи по сети 108 передачи данных; и процессор (не изображен), соединенный с интерфейсом сетевой связи, выполнен с возможностью выполнять различные процедуры, включая те, что описаны ниже. С этой целью процессор может сохранять или иметь доступ к машиночитаемым инструкциям, хранящимся на носителе 112 информации, выполнение которых инициирует процессор, чтобы выполнять различные описанные здесь процедуры. Носитель 112 информации сервера 110 выполнен с возможностью хранить данные, включая машиночитаемые инструкции и базы данных.
[52] В некоторых вариантах осуществления настоящего технического решения носитель 112 информации выполнен с возможностью сохранять различные данные, например, индексы веб-страниц, с которых была собрана информация с помощью приложения поискового робота (не изображен) программного обеспечения поисковой системы, доступного на сервере 110. В других вариантах осуществления настоящего технического решения носитель 112 информации может хранить иные данные, полученные сервером 110.
[53] Сетевая система 100 включает в себя электронное устройство 104. Электронное устройство 104 связано с пользователем 102 и, поэтому, может рассматриваться как «клиентское устройство» и/или «электронное устройство пользователя». Следует отметить, что тот факт, что электронное устройство 104 связано с пользователем 102, не подразумевает какого-либо конкретного режима работы, равно как и необходимости входа в систему, регистрации, или чего-либо подобного.
[54] Электронное устройство 104 включает в себя носитель 105 информации. В общем случае носитель 105 информации может быть выполнен как носитель любого характера и вида, включая ОЗУ, ПЗУ, диски (компакт диски, DVD-диски, дискеты, жесткие диски и т.д.), USB флеш-накопители, твердотельные накопители, накопители на магнитной ленте и т.д. а также их комбинацию. Носитель 105 информации может хранить файлы пользователя и программные инструкции. В частности, носитель 105 информации может хранить программное обеспечение для реализации браузера 106. В общем случае задачей браузера 106 является предоставление пользователю 102 возможности запрашивать данные веб-страницы и отображать их на экране (не обозначен) электронного устройства 104.
[55] Варианты электронного устройства 104 конкретно не ограничены, но в качестве примера электронного устройства 104 могут использоваться персональные компьютеры (настольные компьютеры, ноутбуки, нетбуки и т.п.) или беспроводное устройство передачи данных (мобильные телефоны, смартфоны, планшеты и т.п.). На Фигуре 1 электронное устройство 104 выполнено как ноутбук, например как Apple™ MacBook Pro™, и оно может исполнять браузер 106, который является браузером Яндекс™. Важно иметь в виду, что любое другое коммерчески доступное или собственное браузерное приложение может быть использовано для реализации вариантов осуществления настоящего технического решения, не ограничивающих его объем.
[56] Кроме того, следует отметить, что браузер 106 и поисковая система, доступная на сервере 110, могут иметь общего конкретного поставщика.
[57] Кроме того, сетевая система 100 включает в себя веб-серверы 114, соединенные с электронным устройством 104 и сервером 110 по сети 108 передачи данных. В некоторых вариантах осуществления настоящего технического решения веб-серверы 114 могут сохранять, обрабатывать и предоставлять данные веб-страниц в ответ на запрос веб-страницы (не изображен) от браузера 106 или от приложения поискового робота сервера 110, как уже известно в данной области техники. Следует отметить, что на сервере 114 может быть доступно множество веб-страниц. Кроме того, данные веб-страниц, связанные с веб-страницей, могут храниться на единственном веб-сервере из веб-серверов 114.
[58] Данные веб-страниц могут содержать инструкции отрисовки для предоставления возможности отрисовки веб-страницы браузером 106, а также дополнительную информацию. Инструкции отрисовки могут входить в состав по меньшей мере одного файла как часть данных веб-страниц. Дополнительные данные могут включать в себя заголовки передачи (например, TCP/IP), данные входа пользователя в систему, данные об устройстве, другие метаданные и так далее.
[59] В некоторых вариантах осуществления настоящего технического решения данные веб-страницы могут включать в себя конкретный файл, написанный на языке разметки, например, на языке разметки гипертекста HTML. В этом примере конкретный файл может быть документом HTML. Следует отметить, что настоящее техническое решение не ограничивается любым конкретным языком разметки и что способы, описанные здесь, могут быть применены к файлам, написанным на других языках разметки, например, на расширяемом языке разметки (XML). Последующие варианты осуществления настоящего технического решения будут относиться к конкретному файлу, написанному на HTML, исключительно с целью упрощения, и, как было упомянуто ранее, язык, на котором написан файл, не является ограничением настоящего технического решения.
[60] В одном варианте осуществления настоящего технического решения HTML-документ может включать в себя инструкции отрисовки для отрисовки веб-страницы браузером 106, причем веб-страница связана с данными веб-страницы. Другими словами, инструкции отрисовки включают в себя элементы веб-страницы, определенные в HTML-документе или снабженные ссылками из HTML-документа, а также информацию для их отрисовки.
[61] Инструкции отрисовки в HTML-документе могут включать в себя структурированную или иерархическую информацию об элементах HTML. Инструкции отрисовки могут дополнительно включать в себя инструкции каскадных страниц стилей (Cascading Style Sheets, CSS), которые включают в себя информацию о стилях и шаблонах элементов веб-страницы для их отрисовки. В некоторых вариантах осуществления настоящего технического решения инструкции CSS могут быть вложены в HTML-документ или могут быть предоставлены в отдельном файле, на который есть ссылка в HTML-документе. Этот отдельный файл может входить в состав по меньшей мере одного файла как часть данных веб-страниц.
[62] Инструкции отрисовки могут также содержать различные сценарии (или коды) для отрисовки элементов веб-страниц. Различные сценарии, например, коды, написанные на языках программирования JavaScript или ActionScript, могут предоставлять возможность отрисовки динамических и/или интерактивных элементов веб-страниц. В альтернативных вариантах осуществления настоящего технического решения различные сценарии, аналогично инструкциям CSS, могут быть вложены в HTML-документ или могут быть предоставлены в отдельных файлах, на которые есть ссылки в HTML-документе. Эти отдельные файлы могут входить в состав по меньшей мере одного файла как часть данных веб-страниц.
[63] В некоторых вариантах осуществления настоящего технического решения браузер 106 может отправить запрос на веб-страницу с электронного устройства 104 по сети 108 передачи данных после того, как пользователь 102 изъявит желание просмотреть веб-страницу. Пользователь 102 может изъявить желание просмотреть веб-страницу, например, введя в браузер 106 унифицированный указатель ресурса URL, связанный с веб-страницей. В этом случае запрос веб-страницы может быть получен веб-серверами 114. В ответ на запрос веб-страницы веб-сервера 114 могут в ответ предоставить на электронное устройство 104 пакет 116 данных, содержащий данные веб-страницы, связанные с веб-страницей, которая, в свою очередь, связана с предоставленным пользователем 102 URL.
[64] В других вариантах осуществления настоящего технического решения приложение поискового робота сервера 110 может собирать данные с веб-страниц, сохраненных веб-серверами 114 и загружать данные веб-страницы, связанные с веб-страницей, на сервер 110. Сервер 110 может затем индексировать и сохранять данные веб-страницы на носителе 112 информации для будущего использования программным обеспечением пои