RU2632149C2 - System, method and constant machine-readable medium for validation of web pages - Google Patents

System, method and constant machine-readable medium for validation of web pages Download PDF

Info

Publication number
RU2632149C2
RU2632149C2 RU2015116942A RU2015116942A RU2632149C2 RU 2632149 C2 RU2632149 C2 RU 2632149C2 RU 2015116942 A RU2015116942 A RU 2015116942A RU 2015116942 A RU2015116942 A RU 2015116942A RU 2632149 C2 RU2632149 C2 RU 2632149C2
Authority
RU
Russia
Prior art keywords
web page
rules
validation
verification
web pages
Prior art date
Application number
RU2015116942A
Other languages
Russian (ru)
Other versions
RU2015116942A (en
Inventor
Илья Владимирович КАЦЕВ
Владимир Александрович Поляков
Original Assignee
Общество С Ограниченной Ответственностью "Яндекс"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Общество С Ограниченной Ответственностью "Яндекс" filed Critical Общество С Ограниченной Ответственностью "Яндекс"
Priority to RU2015116942A priority Critical patent/RU2632149C2/en
Priority to PCT/IB2015/057825 priority patent/WO2016178068A1/en
Publication of RU2015116942A publication Critical patent/RU2015116942A/en
Application granted granted Critical
Publication of RU2632149C2 publication Critical patent/RU2632149C2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/194Calculation of difference between files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)

Abstract

FIELD: information technology.
SUBSTANCE: in web page validation method, reference web pages are obtained, wherein each web page contains a number of web page elements. Web pages elements of reference web pages are analyzed to identify the similarities and relationships between elements of web pages. Set of validation templates is created, that identify a plurality of items, common to the reference web pages. Set of validation rules that define logical relationship between the elements of web page of each reference web page is created. Correspondence of checked web page to the set of validation templates and the set of validation rules is confirmed.
EFFECT: expansion of arsenal of web pages checking technical means.
20 cl, 7 dwg

Description

Область техники, к которой относится изобретениеFIELD OF THE INVENTION

Настоящее техническое решение относится к способам и системам для проверки веб-страниц.This technical solution relates to methods and systems for checking web pages.

Уровень техникиState of the art

[0001] Веб-страницы многофункциональны и могут быть использованы в разных контекстах и разными способами. Например, веб-страница может быть личной веб-страницей, коммерческой веб-страницей, государственной веб-страницей или веб-сайтом некоммерческой организации. Торговля через интернет обычно является обменом продуктов и услуг потребителями или субъектами предпринимательской деятельности по интернету. В известном примере потребитель "делает покупки он-лайн" с помощью поиска и выбора продуктов или услуг по он-лайн каталогам или перечням, а затем использует для завершения покупки кредитную карту. Интернет значительно облегчает проведение интернет-торговли, частично из-за того, что в нем используются стандартные методики для обмена информацией.[0001] Web pages are multifunctional and can be used in different contexts and in different ways. For example, a web page may be a personal web page, a commercial web page, a government web page, or a non-profit organization website. Internet trading is usually the exchange of products and services by consumers or businesses on the Internet. In a well-known example, a consumer “makes purchases online” by searching and selecting products or services from online catalogs or lists, and then uses a credit card to complete the purchase. The Internet makes e-commerce much easier, partly because it uses standard techniques for exchanging information.

[0002] Было создано много стандартов для обмена информацией в интернете, например, электронная почта и всемирная паутина (World Wide Web - "WWW"). Сервис WWW может позволить серверной компьютерной системе (т.е. веб-серверу или веб-сайту) отправлять разнообразную информацию с веб-страницы на удаленную клиентскую компьютерную систему для отображения в ней. Каждый ресурс (например, каждое клиентское компьютерное устройство или веб-страница) WWW может быть уникально определен с помощью единого указателя ресурсов ("URL"). Для просмотра конкретной веб-страницы клиентская компьютерная система может конкретизировать URL этой веб-страницы, например, в HTTP-запросе (HyperText Transfer Protocol - протокол передачи гипертекста). Запрос затем пересылается на веб-сервер, который поддерживает веб-страницу. В ответ веб-сервер посылает запрошенную веб-страницу клиентской компьютерной системе для отображения в браузере, который обычно является специализированным программным приложением, установленным в клиентской компьютерной системе, которое осуществляет запрос веб-страниц и отображение веб-страниц.[0002] Many standards have been created for exchanging information on the Internet, such as e-mail and the World Wide Web ("WWW"). The WWW service may allow a server computer system (i.e., a web server or website) to send various information from a web page to a remote client computer system for display in it. Each resource (for example, each client computer device or web page) of the WWW can be uniquely identified using a single resource locator ("URL"). To view a specific web page, the client computer system can specify the URL of this web page, for example, in an HTTP request (HyperText Transfer Protocol - Hypertext Transfer Protocol). The request is then forwarded to a web server that supports the web page. In response, the web server sends the requested web page to the client computer system for display in a browser, which is usually a specialized software application installed in the client computer system that queries the web pages and displays the web pages.

[0003] На текущий момент веб-страницы в общем случае определяются с помощью HTML (HyperText Markup Language - язык разметки гипертекста). HTML может предоставлять стандартный набор тегов, которые определяют то, как будет отображена веб-страница. В одном примере, когда пользователь указывает в браузере, связанном с клиентской компьютерной системой, что нужно отобразить веб-страницу, веб-браузер отправляет запрос серверной компьютерной системе, запрашивая передачу в клиентскую компьютерную систему документа HTML, который определяет веб-страницу. Документ HTML может содержать разнообразные теги, которые управляют отображением текста, графических элементов, элементов управления и URL других веб-страниц, доступных в этой серверной компьютерной системе или других компьютерных системах. Веб-страницы могут быть в общем случае определены статичными документами HTML, которые созданы и хранятся в серверной компьютерной системе и затем извлекаются при запросе одной или нескольких клиентских компьютерных систем.[0003] Currently, web pages are generally defined using HTML (HyperText Markup Language - Hypertext Markup Language). HTML can provide a standard set of tags that determine how a web page will be displayed. In one example, when a user indicates in a browser associated with a client computer system that a web page is to be displayed, the web browser sends a request to the server computer system, requesting the HTML document that defines the web page to be transmitted to the client computer system. An HTML document may contain a variety of tags that control the display of text, graphic elements, controls, and URLs of other web pages available on this server computer system or other computer systems. Web pages can generally be defined by static HTML documents that are created and stored in a server computer system and then retrieved when requested by one or more client computer systems.

[0004] При отслеживании изменений веб-страницы, относящихся к информации, данным, и активности пользователей он-лайн, могут быть активированы различные теги веб-страницы в любое время в течение загрузки веб-страницы. Кроме того, публикаторы или владельцы веб-страницы могут сотрудничать с третьими лицами, которые предоставляют теги различных типов и для различных целей. Однако, из-за постоянных динамических и объемных изменений информации и данных, связанных с тегами веб-страницы, проверка правильности данных и стабильности веб-сайта может занимать много времени, может быть трудоемкой и затратной из-за числа веб-страниц, которые могут использоваться на веб-сайте, сложности взаимосвязи веб-страниц, и высокого уровня квалификации, который требуется от разработчика веб-страницы. По мере увеличения числа тегов замедляется загрузка и обработка веб-страниц, а нестабильность, наличие ошибок или невозможность обработки веб-страниц может значительно повлиять на пользовательское взаимодействие, что понизит эффективность рекламы он-лайн или мер по стимулированию сбыта. Более того, он-лайн публикаторы или владельцы веб-сайта могут столкнуться с рядом других проблем, связанных с хранением тегов различных типов и тегов для различных целей (включая устаревшие теги), поддержкой тегов с новыми или меняющимися характеристиками, и/или улучшением эффективности управления постоянно увеличивающимся числом тегов, которые могут при этом быть тегами разных типов. Поэтому необходима эффективная проверка веб-страниц.[0004] When tracking changes to a web page related to information, data, and user activity online, various web page tags can be activated at any time during the loading of the web page. In addition, publishers or web page owners may collaborate with third parties who provide tags of various types and for various purposes. However, due to the constant dynamic and voluminous changes in the information and data associated with the web page tags, validating the data and website stability can be time consuming, time-consuming and costly due to the number of web pages that can be used. on the website, the complexity of the relationship of the web pages, and the high level of skill required by the web page developer. As the number of tags increases, the loading and processing of web pages slows down, and instability, errors or inability to process web pages can significantly affect user interaction, which will reduce the effectiveness of online advertising or sales promotion measures. Moreover, online publishers or website owners may encounter a number of other problems associated with storing tags of various types and tags for various purposes (including outdated tags), supporting tags with new or changing characteristics, and / or improving management efficiency an ever-increasing number of tags, which may be different types of tags. Therefore, effective verification of web pages is necessary.

Раскрытие изобретенияDisclosure of invention

[0005] Предлагаются системы, способы и компьютерные программные продукты для проверки веб-страниц. В одном из вариантов осуществления система может быть выполнена с возможностью выполнять автоматическую проверку различных веб-страниц, хранящихся веб-сервером (например, веб-сервером торговли) для подтверждения корректности этих веб-страниц и определения ошибок в макете и/или содержимом веб-страниц. Может периодически проводиться проверка всех хранящихся веб-страниц, только новых добавленных веб-страниц, или только недавно обновленных веб-старниц (например, веб-страниц, содержимое которых было обновлено). Проверка веб-страниц может быть проведена с использованием наборов правил и шаблонов проверки, которые автоматически создаются системой на основе анализа ранее проверенных веб-страниц. Например, система может быть выполнена с возможностью автоматически анализировать элементы HTML множества проверенных веб-страниц той же самой категории продукта/товара/услуги и создавать набор шаблонов проверки, идентифицируя общие для веб-страниц элементы, и наборы правил проверки, определяя отношения между элементами веб-страницы. Конкретнее, правила проверки и шаблоны могут распространяться на элементы веб-страниц, которые отличаются друг от друга или сходны друг с другом, или на одинаковые элементы с изменяющимся содержимым, связанным с этими элементами. Эти наборы правил и шаблонов проверки затем используются для проверки других веб-страниц той же самой категории для подтверждения того, что они функционируют правильно. Технический результат настоящего изобретения заключается в реализации назначения расширенного арсенала технических средств для проверки веб-страниц.[0005] Systems, methods, and computer program products for checking web pages are provided. In one embodiment, the system may be configured to automatically check various web pages stored by a web server (eg, a trade web server) to confirm the correctness of these web pages and to detect errors in the layout and / or contents of the web pages . All stored web pages may be checked periodically, only newly added web pages, or only recently updated web pages (for example, web pages whose contents have been updated). Verification of web pages can be carried out using sets of rules and verification patterns that are automatically created by the system based on an analysis of previously verified web pages. For example, a system may be configured to automatically analyze HTML elements of a plurality of checked web pages of the same product / product / service category and create a set of check patterns identifying elements common to web pages and check rule sets defining relationships between web elements -pages. More specifically, validation rules and patterns can apply to web page elements that are different from each other or similar to each other, or to the same elements with changing content associated with these elements. These sets of rules and validation templates are then used to validate other web pages in the same category to verify that they are functioning correctly. The technical result of the present invention is to realize the purpose of an expanded arsenal of technical means for checking web pages.

[0006] В одном из вариантов осуществления приводится способ для проверки веб-страниц, способ содержит: получение двух или более эталонных веб-страниц, причем каждая веб-страница содержит множество элементов веб-страницы; анализ процессором элементов двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц; создание процессором набора шаблонов проверки, идентифицирующих по меньшей мере множество элементов, общих для двух или более эталонных веб-страниц; создание процессором набора правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; и подтверждение процессором соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.[0006] In one embodiment, a method for checking web pages is provided, the method comprising: obtaining two or more reference web pages, each web page containing a plurality of web page elements; the processor’s analysis of the elements of two or more reference web pages to identify similarities and relationships between the elements of the web pages; creating, by the processor, a set of test patterns identifying at least a plurality of elements common to two or more reference web pages; creation by the processor of a set of validation rules defining at least the logical relationships between the web page elements of each reference web page; and confirmation by the processor that the web page being checked matches the set of validation patterns and the set of validation rules.

[0007] В другом варианте осуществления анализ элементов веб-страницы двух или нескольких эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц дополнительно содержит: создание одного или нескольких регулярных выражений для одного или нескольких элементов веб-страниц; и использование регулярных выражений для идентификации сходных элементов в двух или более эталонных веб-страницах.[0007] In another embodiment, the analysis of web page elements of two or more reference web pages to identify similarities and relationships between web page elements further comprises: creating one or more regular expressions for one or more web page elements; and the use of regular expressions to identify similar elements in two or more reference web pages.

[0008] В другом варианте осуществления регулярные выражения могут содержать множество символов и операторов для определения набора одной или нескольких строк в виде выражения или шаблона.[0008] In another embodiment, regular expressions may contain many characters and operators for defining a set of one or more lines in the form of an expression or pattern.

[0009] В другом варианте осуществления регулярное выражение может содержать самый длинный общий префикс, самый длинный общий суффикс и самую длинную общую подстроку текстового содержимого элемента веб-страницы.[0009] In another embodiment, the regular expression may comprise the longest common prefix, the longest common suffix, and the longest common substring of text content of a web page element.

[0010] В другом варианте осуществления регулярное выражение может быть выполнено с возможностью сравнивать выбранный процент текстового содержимого элемента веб-страницы.[0010] In another embodiment, the regular expression may be configured to compare a selected percentage of the text content of a web page element.

[0011] В другом варианте осуществления способ может дополнительно содержать в себе идентификацию категории двух или более эталонных веб-страниц и связывании созданного набора правил проверки и набора шаблонов проверки с категорией.[0011] In another embodiment, the method may further comprise identifying the category of two or more reference web pages and associating the generated set of validation rules and the set of validation templates with the category.

[0012] В другом варианте осуществления подтверждение соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки может дополнительно содержать: идентификацию категории проверяемой веб-страницы; идентификацию набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой веб-страницы; применение набора правил проверки и набора шаблонов проверки для проверки веб-страницы.[0012] In another embodiment, the confirmation of the compliance of the checked web page with the set of verification patterns and the set of verification rules may further comprise: identifying the category of the checked web page; identification of a set of validation rules and a set of validation templates associated with the category of the web page being scanned; Apply a set of validation rules and a set of validation templates to validate a web page.

[0013] В другом варианте осуществления идентификация набора правил проверки и набора шаблонов проверки, связанных с категорией может дополнительно содержать: идентификацию структуры иерархического дерева со множеством узлов, где каждый узел связан с набором правил проверки и набором шаблонов проверки, причем по меньшей мере один набор правил проверки и набор шаблонов проверки связан с категорией проверяемой веб-страницы; "обход" иерархического дерева от идентифицированного узла до корневого узла и идентификацию наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом; извлечение множества идентифицированных наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом, для создания полного набора правил проверки и шаблонов проверки; и использование полного набора правил проверки и шаблонов проверки для подтверждения соответствия проверяемой веб-страницы.[0013] In another embodiment, the identification of a set of verification rules and a set of verification templates associated with a category may further comprise: identifying a hierarchical tree structure with a plurality of nodes, where each node is associated with a set of verification rules and a set of verification templates, at least one set validation rules and a set of validation templates associated with the category of the webpage being scanned; “traversing” the hierarchical tree from the identified node to the root node and identifying sets of verification rules and sets of verification templates associated with each “passed” node; extracting a plurality of identified sets of verification rules and sets of verification templates associated with each “passed” node to create a complete set of verification rules and verification templates; and using a complete set of validation rules and validation templates to verify that the webpage being verified is consistent.

[0014] В другом варианте осуществления приводится система для проверки веб-страниц, содержащая: по меньшей мере один процессор, выполненный с возможностью: получать две или более эталонные веб-страницы, причем каждая веб-страница содержит множество элементов веб-страницы; анализировать элементы веб-страницы двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц; создавать набор шаблонов проверки, идентифицирующих по меньшей мере множество элементов, общих для двух или более эталонных веб-страниц; создавать набор правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; и подтверждать соответствие проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.[0014] In another embodiment, a system for checking web pages is provided, comprising: at least one processor configured to: receive two or more reference web pages, each web page containing a plurality of web page elements; analyze web page elements of two or more reference web pages to identify similarities and relationships between web page elements; Create a set of validation templates that identify at least many elements that are common to two or more reference web pages. create a set of validation rules that define at least the logical relationships between the web page elements of each reference web page; and confirm that the web page being checked matches the set of validation templates and the set of validation rules.

[0015] В другом варианте осуществления приводится постоянный машиночитаемый носитель, содержащий выполняемые компьютером инструкции для проверки веб-страниц, включающие в себя инструкции для: получения двух или более эталонных веб-страниц, причем каждая веб-страница содержит множество элементов веб-страницы; анализа элементов веб-страниц двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц; создания набора шаблонов проверки, идентифицирующих по меньшей мере множество элементов, общих для двух или более эталонных веб-страниц; создания набора правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; и подтверждения соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.[0015] In another embodiment, a readable computer-readable medium is provided comprising computer-executable instructions for checking web pages, including instructions for: obtaining two or more reference web pages, each web page containing a plurality of web page elements; analyzing web page elements of two or more reference web pages to identify similarities and relationships between web page elements; creating a set of validation patterns identifying at least a plurality of elements common to two or more reference web pages; creating a set of validation rules that define at least the logical relationships between the web page elements of each reference web page; and verifying that the web page being checked matches the set of validation templates and the set of validation rules.

[0016] Представленное выше описание упрощенных вариантов осуществления настоящего технического решения служат для понимания основных его принципов. Это описание не является исчерпывающим для всех рассматриваемых объектов, и не предназначено для определения ключевых или важнейших элементов всех вариантов осуществления или для ограничения объема любого или всех объектов настоящего технического решения. Единственной его целью является представление одного или нескольких объектов в упрощенной форме перед более подробным описанием, которое следует ниже. Для выполнения вышеизложенной задачи один или несколько вариантов осуществления настоящего технического решения включают в себя признаки, описанные и конкретно указанные в формуле изобретения.[0016] The above description of simplified embodiments of the present technical solution serve to understand its basic principles. This description is not exhaustive for all considered objects, and is not intended to determine the key or most important elements of all embodiments or to limit the scope of any or all objects of this technical solution. Its sole purpose is to present one or more objects in a simplified form before the more detailed description that follows. To accomplish the above task, one or more embodiments of the present technical solution include the features described and specifically indicated in the claims.

Краткое описание чертежейBrief Description of the Drawings

[0017] Прилагаемые чертежи включены в данное описание и составляют его часть, иллюстрируют один или несколько вариантов осуществления настоящего технического решения вместе с подробным описанием и служат для пояснения принципов и вариантов осуществления настоящего технического решения.[0017] The accompanying drawings are included in this description and form part of it, illustrate one or more embodiments of the present technical solution together with a detailed description, and serve to explain the principles and embodiments of the present technical solution.

[0018] Фиг. 1 является схемой, иллюстрирующей пример сетевой архитектуры для проверки веб-страниц.[0018] FIG. 1 is a diagram illustrating an example network architecture for checking web pages.

[0019] Фиг. 2 является блок-схемой, иллюстрирующей пример системы проверки веб-страниц.[0019] FIG. 2 is a block diagram illustrating an example of a web page verification system.

[0020] Фиг. 3 является схемой, иллюстрирующей пример анализа двух предварительно проверенных веб-страниц для определения правил проверки и шаблонов проверки веб-страниц.[0020] FIG. 3 is a diagram illustrating an example of analyzing two pre-checked web pages to determine verification rules and web page verification patterns.

[0021] Фиг. 4 показывает пример структуры иерархического дерева для хранения и управления правилами проверки и шаблонами проверки веб-страниц.[0021] FIG. 4 shows an example hierarchical tree structure for storing and managing validation rules and web page validation patterns.

[0022] Фиг. 5 является блок-схемой, иллюстрирующей пример способа проверки веб-страниц.[0022] FIG. 5 is a flowchart illustrating an example of a method for checking web pages.

[0023] Фиг. 6 является блок-схемой, иллюстрирующей другой пример способа проверки веб-страниц.[0023] FIG. 6 is a flowchart illustrating another example of a method for checking web pages.

[0024] Фиг. 7 является схемой, иллюстрирующей пример обычной компьютерной системы, на которой реализованы системы и способы проверки веб-страниц.[0024] FIG. 7 is a diagram illustrating an example of a conventional computer system that implements systems and methods for checking web pages.

Осуществление изобретенияThe implementation of the invention

[0025] Варианты осуществления настоящего технического решения описаны здесь в контексте систем, способов и компьютерных программных продуктов для проверки веб-страниц. Специалистам в данной области техники будет понятно, что следующее описание является исключительно иллюстративным и не предназначено для установления каких-либо ограничений. Другие варианты осуществления будут очевидны специалистам в данной области техники, обладающих преимуществами от прочтения настоящего описания. Теперь подробнее будут описаны варианты осуществления настоящего технического решения, проиллюстрированные в прилагаемых чертежах. На всех чертежах и в нижеследующем описании одни и те же элементы по возможности будут пронумерованы одинаково.[0025] Embodiments of the present technical solution are described herein in the context of systems, methods, and computer program products for checking web pages. Those skilled in the art will understand that the following description is merely illustrative and not intended to set any limitations. Other embodiments will be apparent to those skilled in the art having the benefit of reading the present description. Now, the embodiments of the present technical solution illustrated in the accompanying drawings will be described in more detail. In all the drawings and in the following description, the same elements will be numbered the same if possible.

[0026] Фиг. 1 является схемой, изображающей пример многоуровневой системы 100 на сетевой основе, в которой применяется архитектура "клиент-сервер", которая может быть задействована для реализации описанных систем и способов проверки веб-страниц. Сетевая система 100, например, веб-сайта он-лайн торговли, веб-сайта социальных сетей, веб-сайта поставщика услуг (финансового сервиса, туристического сервиса), веб-сайтов государственных структур или некоммерческой организации, или института может включать в себя клиентскую сторону, которая содержит различные электронные пользовательские устройства 102, например, мобильное устройство, настольный компьютер, ноутбук и т.д. В одном из вариантов осуществления устройство 102 может включать в себя по меньшей мере модуль 104 приложений (включающий в себя, например, приложения третьих лиц, использующие прикладной программный интерфейс (API)) и сетевой браузер 106 (например, Firefox, Internet Explorer, Google Chrome, Opera, и Safari) для доступа к сетевой торговой площадке или системе публикаций на стороне сервера по сети 108, например, по интернету, через проводное или беспроводное подключение. В контексте сетевой торговли функционал стороны сервера может включать в себя, например, отображение товаров или продуктов на продажу по интернету от различных удаленных продавцов по сети 108 устройствам 102.[0026] FIG. 1 is a diagram illustrating an example of a multilevel system 100 on a network basis, which employs a client-server architecture that can be used to implement the described systems and methods for checking web pages. The network system 100, for example, an online trading website, a social networking website, a service provider's website (financial service, travel service), government website or non-profit organization, or institution, may include a client side , which contains various electronic user devices 102, for example, a mobile device, a desktop computer, a laptop, etc. In one embodiment, the device 102 may include at least an application module 104 (including, for example, third party applications using an application programming interface (API)) and a network browser 106 (e.g., Firefox, Internet Explorer, Google Chrome , Opera, and Safari) for access to a network trading platform or server-side publishing system over a network 108, for example, over the Internet, through a wired or wireless connection. In the context of network trading, server-side functionality may include, for example, displaying goods or products for sale over the Internet from various remote sellers over the network 108 to devices 102.

[0027] В одном из вариантов осуществления модуль приложений устройства 102 может также включать в себя приложения третьих лиц, осуществляющие доступ к сетевой системе 100 через программный интерфейс, предоставленный сервером 112 API или сервером 120 третьих лиц. Например, сервер 112 API или сервер 120 третьих лиц может, используя информацию, извлеченную из сервера(ов) 114 приложений, поддерживать одну или несколько характеристик или функций на веб-сайте, хранящемся одним или несколькими третьими лицами, для каждого устройства 102. Веб-сайт(ы) третьих лиц могут предоставлять одну или несколько функций из следующего списка: рекламную, рыночную или платежную, которые поддерживаются соответствующими приложениями сетевой системы 100. Следует понимать, что, в дополнение к прямому доступу к сетевой системе 100, модуль 104 приложений вместе с веб-браузером 106 на каждом устройстве 102 может также быть использован для доступа к информации, предоставленной различными веб-сервисами в частных сетях или файлах в файловых системах, выполняемых на каждом устройстве.[0027] In one embodiment, the application module of device 102 may also include third party applications accessing network system 100 via a software interface provided by API server 112 or third party server 120. For example, API server 112 or third party server 120 may, using information extracted from application server (s) 114, support one or more features or functions on a website stored by one or more third parties for each device 102. Web the site (s) of third parties can provide one or more of the following functions: advertising, market or payment, which are supported by the corresponding applications of the network system 100. It should be understood that, in addition to direct access to the network system 100, the mod ul 104 applications, along with a web browser 106 on each device 102, can also be used to access information provided by various web services on private networks or files on file systems running on each device.

[0028] Термин "модуль" в данном контексте означает физическое устройство, аппарат или множество модулей, выполненных с использованием аппаратного обеспечения, например, с помощью, интегральной схемы специального назначения (ASIC) или программируемой логической интегральной схемы (FPGA), или же комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора инструкций, реализующих функционал модуля, которые (при выполнении) трансформируют микропроцессорную систему в устройство специального назначения. Модуль также может быть реализован в виде комбинации обоих, причем некоторые конкретные функции реализуются за счет аппаратного обеспечения, а другие функции реализуются комбинацией аппаратного и программного обеспечения. В некоторых вариантах осуществления настоящего технического решения по меньшей мере частично в некоторых случаях модуль может быть реализован на процессоре компьютера общего назначения (например, на таком, который описан подробнее ниже на Фиг. 6). Соответственно, каждый модуль может быть реализован в виде множества различных конфигураций и не ограничивается конкретным вариантом осуществления, приведенным здесь в качестве примера.[0028] The term "module" in this context means a physical device, apparatus, or a plurality of modules made using hardware, for example, using a special purpose integrated circuit (ASIC) or programmable logic integrated circuit (FPGA), or a combination of hardware and software, for example, using a microprocessor system and a set of instructions that implement the functionality of the module, which (when executed) transform the microprocessor system into a special-purpose device . The module can also be implemented as a combination of both, with some specific functions implemented through hardware, and other functions implemented through a combination of hardware and software. In some embodiments of the present technical solution, at least partially in some cases, the module may be implemented on a general-purpose computer processor (for example, one that is described in more detail below in Fig. 6). Accordingly, each module can be implemented in the form of many different configurations and is not limited to the specific embodiment shown here as an example.

[0029] Как показано на Фиг. 1, сторона сервера сетевой системы 100 может использовать N-уровневую архитектуру приложения (N является выбранным целым), включая, например, один или несколько веб-серверов 110, серверы 112 прикладного программного интерфейса (API), серверы 114 приложений, серверы 116 баз данных для соединения и управления различными базами данных 118. Такая N-уровневая архитектура сервера может не только предоставить возможность реализовать пользовательский интерфейс каждого устройства 102 (например, тонкий клиент, выполненный как компьютер или компьютерная программа для представления данных и обмена данными, хотя в большой степени и зависящий от другого компьютера (его сервера) для выполнения своей вычислительной роли), алгоритм (например, правила для преобразования данных и управления информацией, относящейся к веб-странице, в соответствии с особенностями настоящего приложения, описанного ниже) на стороне сервера, разработать, сохранить и поддерживать хранилище компьютерных данных и доступ к данным как независимые модули на одной и той же или на разных платформах (например, сервер 116 баз данных и база(ы) данных 118), но также и обновить или заменить любой из N уровней независимо в ответ на изменения в разработке, управлении и требованиях использования или технологии.[0029] As shown in FIG. 1, the server side of network system 100 may use an N-tier application architecture (N is a selected integer), including, for example, one or more web servers 110, application program interface (API) servers 112, application servers 114, database servers 116 for connecting and managing various databases 118. Such an N-tier server architecture can not only provide the ability to implement the user interface of each device 102 (for example, a thin client designed as a computer or computer program for presenting data and exchanging data, although to a large extent dependent on another computer (its server) to fulfill its computational role), an algorithm (for example, rules for converting data and managing information related to a web page in accordance with features of this application, described below) on the server side, develop, save and maintain computer data storage and data access as independent modules on the same or on different platforms (for example, database server 116 and (s) of data 118), but also update or replace any of the N levels independently in response to changes in the design, management and requirements of use or technology.

[0030] Входной веб-сервер 110 может хранить один или несколько сервисов, например, мобильная торговля, электронный перевод денежных средств, управление поставками, интернет-маркетинг, обработка операций он-лайн (в реальном времени), электронная система обмена данными (EDI), система управления запасами, системы автоматизированного сбора данных для различных пользовательских устройство 102. В одном из вариантов осуществления входной веб-сервер 110 может быть выполнен с возможностью обработки (например, получения и ответа) HTTP-запросов от каждого пользовательского устройства 102 для HTML-страниц, предоставления сервисов безопасности через, например, протокол безопасных соединений, с помощью подтверждения пользовательского имени и пароля, полученных от каждого пользовательского устройства 102, и обработки сертификатов и частных/общественных основных сведений, необходимых для авторизации, обработки кредитной карты и другой защищенной информации. Веб-сервер 110 может также быть выполнен с возможностью облегчать передачу данных от сервера к серверу, и предоставлять индексацию содержимого сайта и возможность поиска ключевых слов по содержимому сайта. Кроме того, веб-сервер 110 может записывать в журнал файлы пользовательских посещений, включая время, длительность и источники, и предоставлять почтовые сервисы, включая отправку, получение и хранение сообщений электронной почты. Относительно предоставляемого содержимого (статичного и динамического), веб-сервер 110 может также быть выполнен с возможностью предоставлять инструменты управления сайтом, включая расчеты и отображение основной статистики сайта (например, уникальные посетители, запросы страницы, источник HTTP-запросов).[0030] The input web server 110 may store one or more services, for example, mobile trading, electronic money transfer, supply chain management, online marketing, online transaction processing (real-time), electronic data interchange system (EDI) , inventory management system, automated data collection system for various user devices 102. In one embodiment, the input web server 110 may be configured to process (for example, receive and respond) HTTP requests from each field user device 102 for HTML pages, providing security services via, for example, a secure connection protocol, by confirming a user name and password received from each user device 102, and processing certificates and private / public basic information necessary for authorization, credit processing cards and other protected information. The web server 110 may also be configured to facilitate the transfer of data from server to server, and to provide indexing of the content of the site and the ability to search for keywords in the content of the site. In addition, the web server 110 may log user visit files, including time, duration, and sources, and provide email services including sending, receiving, and storing email messages. Regarding the content provided (static and dynamic), the web server 110 may also be configured to provide site management tools, including calculating and displaying basic site statistics (e.g., unique visitors, page requests, source of HTTP requests).

[0031] Кроме того, сервер 110 веб-страницы может хранить HTML или иной код, требуемый для создания веб-страницы и с заголовком, и с основной информацией как завершенную веб-страницу или шаблон. С помощью инструментов для создания динамической страницы сервер 110 может сохранять содержимое одной или нескольких веб-страниц как объектов в базе данных вместо того, чтобы заранее запрограммировать это содержимое в HTML. Созданные веб-страницы включают в себя HTML-код, который задает внешний вид веб-страницы, и другие коды (например, парные символы-разграничители), которые задают семантику веб-страницы. Во время обработки конкретной веб-страницы или шаблона веб-сервер 110 может определить парные символы-разграничители и интерпретировать каждую строку символов между ними. Эти строки символов могут определить, например, динамический тег. Хотя обычно веб-страницы закодированы на HTML, они могут быть созданы или закодированы с использованием других форматов: XML (расширенный язык разметки), VoiceXML (расширенный язык речевой разметки) или другие языки разметки.[0031] In addition, the web page server 110 may store the HTML or other code required to create the web page with both the title and the basic information as a complete web page or template. Using tools for creating a dynamic page, server 110 can store the contents of one or more web pages as objects in a database instead of pre-programming this content in HTML. Created web pages include HTML code that defines the appearance of the web page, and other codes (such as paired delimiter characters) that define the semantics of the web page. During processing of a particular web page or template, the web server 110 may determine paired delimiter characters and interpret each line of characters between them. These character strings can define, for example, a dynamic tag. Although web pages are usually encoded in HTML, they can be created or encoded using other formats: XML (advanced markup language), VoiceXML (advanced speech markup language), or other markup languages.

[0032] Веб-сервер 110, сервер 112 API и сервер 120 третьих лиц может быть напрямую соединен или может использовать программные веб-интерфейсы для соединения с одним или несколькими серверами 114 приложений, которые хранят одно или несколько приложений для предоставления конкретных функций, требуемых веб-сайтом. Сервер(ы) 114 приложений может быть соединен с одним или несколькими внутренними серверами 116 баз данных, которые обеспечивают доступ к одной или нескольким базам данных 118. Поэтому сервер(ы) 114 приложений может являться связующей программой сервера, которая позволяет входному клиенту на основе браузера извлекать данные из внутренних баз данных и наследуемых систем, например, больших серверных компьютеров или мейнфреймов. В одном из вариантов осуществления веб-сервер 110 и сервер(ы) 114 приложений могут быть объединены, чтобы совместно предоставлять внутренний программный код, реализующий функциональность приложения, с помощью различных протоколов, включая HTTP, и управлять безопасностью, обработкой операций, группировкой ресурсов и обменом сообщений. Однако, в случае масштабных торговых процедур по сети, когда возникает проблема распределения нагрузки, может использоваться множество серверов приложений и несколько отдельных веб-серверов в соответствии с N-уровневой сетевой архитектурой.[0032] The web server 110, the API server 112, and the third party server 120 may be directly connected or may use web-based software interfaces to connect to one or more application servers 114 that store one or more applications to provide specific functions required by the web website. Application server (s) 114 can be connected to one or more internal database servers 116, which provide access to one or more databases 118. Therefore, application server (s) 114 can be a server middleware that allows a browser-based input client Retrieve data from internal databases and legacy systems, such as large server computers or mainframes. In one embodiment, the web server 110 and the application server (s) 114 can be combined to jointly provide internal program code that implements the functionality of the application using various protocols, including HTTP, and manage security, transaction processing, resource grouping, and exchange messages. However, in the case of large-scale trading procedures over the network, when there is a problem of load balancing, many application servers and several separate web servers can be used in accordance with the N-tier network architecture.

[0033] Сервер(ы) 114 приложений могут реализовать множество приложений (не показаны) для предоставления ключевых функций и услуг пользователям, которые совершили доступ к сетевой системе 100. В контексте сетевой торговли сервер(ы) 114 приложений могут взаимодействовать с серверами 116 баз данных и базой(ами) данных 118 для хранения и управления описаниями продуктов и покупателей, а также информацией о цене, предоставлять он-лайн каталог/базу данных, отображающую описания продуктов и цены, хранить и доставлять потоковое медиа содержимое (текст, аудио или видео), предоставлять обработку операций он-лайн, включая принятие заказов, обработку платежей, проведение он-лайн аукционов и связь с другими торговыми площадками, связанными с веб-сервером 110, сервером 112 API и сервером 120 третьих лиц, поддерживать сетевую рекламу, включая адаптированный и персонализированный экран рекламных элементов на основе поведения покупателя и его характеристик, создавать/хранить списки рассылок и управлять почтовыми интернет-маркетинговыми кампаниями. И в случае объединения, и в случае отдельной реализации сервер(ы) 114 приложений могут также быть выполнены с возможностью отслеживать и управлять доступом к главному веб-серверу 110 и реализовывать защиту с помощью межсетевого экрана (firewall).[0033] Application server (s) 114 may implement a variety of applications (not shown) to provide key functions and services to users who have accessed network system 100. In the context of network trade, application server (s) 114 can communicate with database servers 116 and a database (s) 118 for storing and managing product and customer descriptions, as well as price information, providing an online catalog / database showing product descriptions and prices, storing and delivering streaming media content (text, audio or video), provide online transaction processing, including accepting orders, processing payments, conducting online auctions and communicating with other trading platforms associated with the web server 110, API server 112 and third party server 120, support online advertising, including an adapted and personalized screen of advertising elements based on customer behavior and its characteristics, create / store mailing lists and manage online email marketing campaigns. And in the case of combining, and in the case of a separate implementation, the server (s) 114 applications can also be configured to monitor and control access to the main web server 110 and implement protection using a firewall (firewall).

[0034] Следует понимать, что, хотя было показано, что система 100 на Фиг. 1 применяет архитектуру клиент-сервер, возможно применение альтернативных архитектур, включая распределенную или одноранговую (peer-to-peer) архитектурную систему.[0034] It should be understood that, although it has been shown that the system 100 in FIG. 1 uses a client-server architecture, alternative architectures are possible, including a distributed or peer-to-peer architectural system.

[0035] В одном из вариантов осуществления система 100 может быть выполнена с возможностью выполнять автоматическую проверку различных веб-страниц, находящихся на веб-сервере 110 и хранящихся в базе данных 118, для подтверждения корректности этих веб-страниц и определения ошибок в макете и/или содержимом веб-страниц. Может периодически проводиться проверка всех веб-страниц, только новых добавленных веб-страниц, или только недавно обновленных веб-страниц (например, веб-страниц, содержимое которых было обновлено). Проверка веб-страниц может быть проведена с использованием наборов правил и шаблонов проверки, которые автоматически создаются системой на основе анализа ранее проверенных веб-страниц. Например, система 100 выполнена с возможностью автоматически анализировать элементы HTML множества проверенных веб-страниц той же самой категории продукта/товара/услуги и создавать шаблоны проверки, идентифицируя общие для веб-страниц элементы, и правила проверки, определяя взаимоотношения между элементами веб-страницы. Конкретнее, правила и шаблоны могут распространяться на элементы веб-страниц, которые отличаются друг от друга или одни и те же (или в основном сходные), или одинаковые элементы с изменяющимся содержимым, связанным с этими элементами. Эти правила и шаблоны проверки затем используются для проверки других веб-страниц той же самой категории для подтверждения того, что они функционируют правильно.[0035] In one embodiment, the system 100 may be configured to automatically check various web pages located on the web server 110 and stored in the database 118 to confirm the correctness of these web pages and to determine errors in the layout and / or web page content. All web pages can be checked periodically, only newly added web pages, or only recently updated web pages (for example, web pages whose contents have been updated). Verification of web pages can be carried out using sets of rules and verification patterns that are automatically created by the system based on an analysis of previously verified web pages. For example, system 100 is configured to automatically analyze HTML elements of a plurality of verified web pages of the same product / product / service category and create validation patterns identifying elements common to web pages and validation rules, determining relationships between web page elements. More specifically, rules and patterns can apply to elements of web pages that are different from each other or the same (or basically similar), or the same elements with varying content associated with these elements. These rules and validation templates are then used to validate other web pages of the same category to confirm that they are functioning correctly.

[0036] На Фиг. 2 изображен пример системы 200 для проверки веб-страниц, которые могут быть реализованы в связи с сетевой архитектурой 100. В одном примере сервер 210 приложений может быть выполнен с возможностью создавать наборы правил и шаблонов проверки для проверки и подтверждения соответствия веб-страниц, хранящихся на сервере 208. В связи с этим сервер 210 приложений может включать в себя селектор 218 веб-страниц, выполненный с возможностью запрашивать/извлекать через интерфейс 214 из базы данных 228 веб-страниц веб-сервера 208 двух или более предварительно проверенных эталонных веб-страниц или веб-сайтов (например, сайт сетевой торговли), хранящийся веб-сервером 208. Веб-сервер 208 может управляться, например, он-лайн оператором розничной торговли/услуги. Кроме того, в зависимости от распределения нагрузки среди различных процедур сервера, веб-сервер 208 и сервер 210 приложений могут быть объединены или реализованы отдельно в разных вариантах осуществления.[0036] In FIG. 2 depicts an example system 200 for checking web pages that can be implemented in connection with network architecture 100. In one example, application server 210 may be configured to create sets of rules and validation patterns for checking and validating web pages stored on the server 208. In this regard, the application server 210 may include a web page selector 218 configured to request / retrieve two or more pre-checks from the database 218 of web pages of the web server 208 via the interface 214 trusted reference web pages or websites (eg, a network trading site) stored by the web server 208. The web server 208 may be managed, for example, by an online retailer / service operator. In addition, depending on the load distribution among the various server procedures, the web server 208 and the application server 210 may be combined or implemented separately in different embodiments.

[0037] В одном из вариантов осуществления запрошенные предварительно проверенные веб-страницы должны быть связаны с той же самой категорией товаров или услуг. Это необходимо из-за того, что веб-страницы той же самой категории обладают одинаковым макетом и сходным текстовым содержимым, в то время как веб-страницы разных категорий могут обладать разными макетами и различным текстовым содержимым. Так, например, все веб-страницы, на которых продаются цифровые фотоаппараты, будут обладать сходным содержимым, например, тип светочувствительного элемента, тип объектива, разрешение изображения, цифровой и аналоговый зум, выдержка и т.д. И напротив, веб-страницы, на которых продается обувь, будет обладать иным макетом и содержимым, например, окно выбора цвета обуви, окно выбора размера обуви, множество изображений товара разных цветов и т.д. Однако, следует понимать, что несмотря на многочисленные различия, веб-страницы разных категорий товаров также будут обладать сходным содержимым, например, цена товара, описание товара, отзывы покупателей, список связанных товаров, информация о доставке и т.д.[0037] In one embodiment, the requested pre-checked web pages should be associated with the same category of goods or services. This is necessary because web pages of the same category have the same layout and similar text content, while web pages of different categories may have different layouts and different text contents. For example, all web pages that sell digital cameras will have similar content, for example, the type of photosensitive element, type of lens, image resolution, digital and analog zoom, shutter speed, etc. Conversely, the web pages on which shoes are sold will have a different layout and content, for example, a window for choosing a shoe color, a window for choosing a shoe size, many images of goods of different colors, etc. However, it should be understood that despite the many differences, the web pages of different product categories will also have similar content, for example, product price, product description, customer reviews, list of related products, delivery information, etc.

[0038] В ответ на запрос от сервера 210 приложения, веб-сервер 208 может идентифицировать две предварительно проверенные веб-страницы одной и той же категории (например, цифровые фотоаппараты), используя, например, URL этих страниц. Так, например, URL одной веб-страницы может выглядеть как "market.yandex.ru/search/goods/cameras/camera1.htm", a URL другой сходной веб-страницы может выглядеть как "market.yandex.ru/search/goods/cameras/camera2.htm". Анализ URL этих веб-страниц веб-сервером 208 указывает, что они обе связаны с товарами одной категории товаров - "фотоаппараты". Поскольку эти две предварительно проверенные веб-страницы связаны с одной категорией (например, категорией товара), то макет и содержимое этих веб-страниц может быть сходным. Поэтому эти две веб-страницы могут быть использованы для создания правил и шаблонов проверки для проверки других веб-страниц той же категории.[0038] In response to a request from the application server 210, the web server 208 can identify two pre-checked web pages of the same category (eg, digital cameras) using, for example, the URLs of these pages. For example, the URL of one web page may look like "market.yandex.ru/search/goods/cameras/camera1.htm", and the URL of another similar web page may look like "market.yandex.ru/search/goods /cameras/camera2.htm ". An analysis of the URLs of these web pages by the web server 208 indicates that they are both associated with products of the same product category - “cameras”. Since these two pre-checked web pages are associated with the same category (for example, product category), the layout and content of these web pages may be similar. Therefore, these two web pages can be used to create rules and validation patterns for checking other web pages of the same category.

[0039] Получив выбранные предварительно проверенные эталонные веб-страницы от веб-сервера 208 сервер 210 приложений может использовать анализатор 220 данных элементов веб-страниц для осуществления анализа макета и/или содержимого этих веб-страниц для идентификации сходных и различных элементов этих веб-страниц, а также логических взаимоотношений между идентифицированными элементами. Фиг. 3 изображает примеры извлеченных HTML-документов 306 и 308, которые при реализации браузером 206 пользовательского устройства 202 создают веб-страницы 302 и 304. А именно, каждый HTML-документ 306 или 308 может содержать набор кодов в формате текстового файла для управления представлением и отображением информации, связанной с различными элементами веб-страниц, на компьютерном устройстве (например, устройстве 202 на Фиг. 2). Примеры информации, которая может быть отображена на веб-страницах 302 и 304 посредством использования HTML, может включать в себя текстовую информацию, изображения, видео, аудио и другие выполнимые программы. В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц может анализировать HTML-теги, признаки (атрибуты) и текст, связанный и каждым элементом веб-страницы веб-страниц 302 и 304 для определения сходства или различия между элементами этих двух веб-страниц.[0039] Upon receiving the selected pre-verified reference web pages from the web server 208, the application server 210 may use the web page element data analyzer 220 to analyze the layout and / or contents of these web pages to identify similar and different elements of these web pages as well as logical relationships between identified elements. FIG. 3 depicts examples of extracted HTML documents 306 and 308 that, when implemented by browser 206 of user device 202, create web pages 302 and 304. Namely, each HTML document 306 or 308 may contain a set of codes in a text file format to control presentation and display information associated with various elements of web pages on a computer device (eg, device 202 in FIG. 2). Examples of information that can be displayed on web pages 302 and 304 by using HTML may include text information, images, video, audio, and other executable programs. In one embodiment, the web page element data analyzer 220 may parse the HTML tags, tags, and text associated with each web page element of the web pages 302 and 304 to determine the similarity or difference between the elements of the two web pages .

[0040] В синтаксисе HTML большинство элементов пишутся как начальный тег и конечный тег с содержимым между ними. HTML-тег может состоять из имени элемента, окруженного угловыми скобками. В конечном теге после открывающей угловой скобки также имеется знак слэша для того, чтобы отличить конечный тег от начального. Например, тег параграфа <р> может быть использован для структурирования текстовой информации веб-страницы на различные параграфы. Каждый параграф текста может быть расположен между открывающим тегом <р> и закрывающим тегом </р>. Пример распространенных HTML-тегов может включать в себя тег заголовка <h1>-<h6>, выделение жирным шрифтом <b>, создание гипертекстовой ссылки <а>, изображение <img>, блок <div>, таблица <table>, кнопка <button>, разнообразные типы ввода <input>, список элементов <select>, видео <video>, и т.д. Каждый тег может содержать в своей открывающей скобке множество признаков, определяющих, например, визуальные характеристики текста, связанного с тегом, например, вид шрифта, цвет шрифта, размер шрифта, цвет фона, размеры и т.д. Между скобками тег может содержать текст, который может быть воспроизведен браузером 206 для отображения на пользовательском устройстве 202.[0040] In HTML syntax, most elements are written as a start tag and an end tag with content in between. An HTML tag can consist of the name of an element surrounded by angle brackets. After the opening angle bracket, the end tag also has a slash to distinguish the end tag from the start tag. For example, the paragraph tag <p> can be used to structure the text information of a web page into various paragraphs. Each paragraph of the text can be located between the opening tag <p> and the closing tag </ p>. An example of common HTML tags may include a header tag <h1> - <h6>, bold <b>, creating a hyperlink <a>, an image <img>, a block <div>, a table <table>, a button < button>, various input types <input>, list of elements <select>, video <video>, etc. Each tag can contain in its opening bracket many signs that determine, for example, the visual characteristics of the text associated with the tag, for example, font type, font color, font size, background color, size, etc. Between the brackets, the tag may contain text that can be played by the browser 206 for display on the user device 202.

[0041] Внизу приводится как пример часть упрощенного кода HTML-документа 306, который при исполнении веб-браузером 206 создает веб-страницу 302 для отображения на пользовательском устройстве 202. Код HTML-документа 308 может быть, в основном, сходным.[0041] The following is an example of a portion of the simplified code for an HTML document 306, which when executed by a web browser 206 creates a web page 302 for display on a user device 202. The code for the HTML document 308 can be substantially similar.

Figure 00000001
Figure 00000001

Figure 00000002
Figure 00000002

[0042] В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц, выполнен с возможностью анализировать HTML-коды 306 и 308 веб-страниц 302 и 304 и идентифицировать их сходные, различные и связанные элементы. В данном случае HTML-элемент или элемент веб-страницы может относиться к индивидуальному компоненту HTML-документа или веб-страницы, который был преобразован в объектную модель документа (DOM), включающую в себя теги, признаки и текст, но не ограничивающуюся ими. В одном примере анализатор 220 данных элементов веб-страниц может анализировать HTML-путь к каждому элементу веб-страниц 302 и 304 и связывать каждый адрес веб-страницы, например, market.yandex.ru/shop/goods/camera/camera1 (ссылка ведет на веб-страницу цифровых фотоаппаратов) с конкретным списком элементов, которые релевантны для веб-страницы конкретной категории продуктов/товаров/услуг (например, фотоаппаратов). В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц извлекает все HTML-элементы или элементы веб-страницы, связанные с выбранными предварительно проверенными веб-страницами из базы данных 228 веб-страниц и других серверов/баз данных 236 (например, сервер 112 API и сервер 120 третьих лиц на Фиг. 1).[0042] In one embodiment, the web page element data analyzer 220 is configured to parse the HTML codes 306 and 308 of the web pages 302 and 304 and identify similar, different, and related elements. In this case, an HTML element or a web page element may refer to an individual component of an HTML document or a web page that has been converted to a document object model (DOM), including, but not limited to tags, tags, and text. In one example, the web page element data analyzer 220 can parse an HTML path to each element of the web pages 302 and 304 and associate each web page address, for example, market.yandex.ru/shop/goods/camera/camera1 (link leads to the web page of digital cameras) with a specific list of items that are relevant to the web page of a specific category of products / goods / services (e.g., cameras). In one embodiment, the web page element data analyzer 220 retrieves all HTML or web page elements associated with the selected pre-checked web pages from the web page database 228 and other servers / databases 236 (e.g., server 112 API and third party server 120 in Fig. 1).

[0043] Когда получены все элементы предварительно проверенных эталонных веб-страниц 302 и 304, анализатор 220 данных элементов веб-страниц может проанализировать HTML-коды 306 и 308 и извлечь некоторые или все текстовые части идентифицированных HTML-элементов. Анализатор 220 данных элементов веб-страниц затем сравнивает извлеченные текстовые части двух эталонных веб-страниц для определения в них сходных или различных элементов. Например, со ссылкой на Фиг. 3, анализ веб-страниц 302 и 304 обнаруживает, что эти две страницы имеют ряд сходных элементов, включая (но не ограничиваясь) три пространственных вида и видео фотокамеры, а также общие текстовые поля, например, наименование товара, наименование производителя, отзывы покупателей, цена по каталогу, описание, которое включает в себя цвет, номер модели, размер объектива, общие размеры и цифровой зум. В одном из вариантов осуществления макет этих элементов веб-страниц 302 и 304 может различаться, но это может быть неважно, так как анализатор 220 данных элементов веб-страниц анализирует сходства содержимого этих веб-страниц (например, текст), а не группировку документов веб-страницы. В другом примере анализатор 220 данных элементов веб-страниц может также сравнивать группировку веб-страниц 302 и 304 с помощью, например, сравнения разных типов тегов и их соответствующих признаков, например, тег таблицы, тег формы, тег ввода, тег стиля и т.д., которые определяют структуру веб-страницы.[0043] When all the elements of the pre-verified reference web pages 302 and 304 are received, the web page element data analyzer 220 may parse the HTML codes 306 and 308 and extract some or all of the text parts of the identified HTML elements. The web page element data analyzer 220 then compares the extracted text parts of the two reference web pages to identify similar or different elements therein. For example, with reference to FIG. 3, an analysis of the web pages 302 and 304 reveals that these two pages have a number of similar elements, including (but not limited to) three spatial views and video cameras, as well as common text fields, for example, product name, manufacturer name, customer reviews, catalog price, a description that includes color, model number, lens size, total sizes and digital zoom. In one embodiment, the layout of these elements of the web pages 302 and 304 may vary, but this may not be important, since the analyzer 220 of the data of the web pages analyzes the similarities of the contents of these web pages (for example, text), and not a grouping of web documents -pages. In another example, the analyzer 220 of the data of the web page elements can also compare the grouping of the web pages 302 and 304 by, for example, comparing different types of tags and their corresponding features, for example, a table tag, a form tag, an input tag, a style tag, etc. etc. that define the structure of the web page.

[0044] В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц может использовать простые регулярные выражения для сравнения и идентификации сходных элементов текста в двух или более веб-страницах 302 и 304. В общем случае регулярные выражения могут относиться к шаблонам для конкретизации и распознавания текстовых строк во время обработки слабоструктурированного или неструктурированного текста. Регулярные выражения могут быть использованы для гибкого сравнивания, поиска на основе шаблонов и фильтрации на основе шаблонов. В процедуре регулярные выражения могут быть использованы для поиска и сравнивания данных как функции предварительно определенного шаблона или набора шаблонов. В связи с этим шаблоны могут использовать конкретный синтаксис, с помощью которого конкретные символы или строки выбираются из основного текста. Более конкретно, выражения могут содержать в себе константы и операторы, которые указывают на наборы строк и процедур в этих наборах, соответственно. С использованием конкретного синтаксиса регулярных выражений или других шаблонов языка может быть осуществлено улучшенное сравнение текстовых шаблонов.[0044] In one embodiment, the web page element data analyzer 220 may use simple regular expressions to compare and identify similar text elements in two or more web pages 302 and 304. In general, regular expressions may refer to patterns for instantiation and recognition of text strings during processing of weakly structured or unstructured text. Regular expressions can be used for flexible comparisons, pattern-based searches, and pattern-based filtering. In the procedure, regular expressions can be used to search and compare data as a function of a predefined template or set of templates. In this regard, patterns can use specific syntax with which specific characters or lines are selected from the main text. More specifically, expressions can contain constants and operators that point to sets of strings and procedures in these sets, respectively. Using the specific regular expression syntax or other language patterns, improved comparison of text patterns can be made.

[0045] Анализатор 220 данных элементов веб-страниц (со ссылкой на Фиг. 2) может осуществлять сравнение текстовых шаблонов, используя регулярные выражения с помощью «движка» регулярных выражений (не показан) для предоставления сравнения текстовых шаблонов как функции регулярного выражения ввода. Такой «движок» регулярных выражений может быть либо текст-ориентированным, либо ориентированным на регулярные выражения, причем первый является детерминированным конечным автоматом (DFA), а последний - недетерминированным конечным автоматом (NFA). В любом из этих случаев «движок» регулярных выражений может получать, извлекать или получать иным образом в качестве ввода регулярное выражение и строку текстовых данных (указанных, например, с помощью HTML), для которых надо идентифицировать совпадения. Регулярные выражения могут содержать множество обычных символов и операторов, которые описывают набор из одной или нескольких строк в виде выражения или шаблона в обработке текста ввода. В качестве примера, текст ввода - "цифровой зум", а шаблону соответствует "зум". В этом случае «движок» регулярных выражений может искать строку символ за символом (например, "ц", "и", "ф", "р", "о", "в", "о", "й", "з", "у", "м"), пока не найдет первую букву "з". Затем «движок» регулярных выражений будет искать остальные буквы "ум", чтобы было полной совпадение с шаблоном.[0045] A web page element data analyzer 220 (with reference to FIG. 2) can compare text patterns using regular expressions using a regular expression engine (not shown) to provide a comparison of text patterns as a function of input regular expression. Such a regular expression engine can be either text-oriented or regular expression-oriented, the former being a deterministic finite state machine (DFA), and the latter a non-deterministic finite state machine (NFA). In any of these cases, the regular expression engine can receive, retrieve, or otherwise receive as input the regular expression and a string of text data (specified, for example, using HTML) for which matches must be identified. Regular expressions can contain many ordinary characters and operators that describe a set of one or more lines in the form of an expression or template in the processing of input text. As an example, the input text is “digital zoom,” and “zoom” corresponds to the pattern. In this case, the regex engine can search line by character (for example, "c", "and", "f", "p", "o", "c", "o", "y", " h "," y "," m ") until it finds the first letter" h ". Then the regex engine will search for the rest of the letters mind, so that it matches the pattern completely.

[0046] Анализируемые строки символов могут быть отправлены анализатору строк, который реализован как анализатор 220 данных элементов веб-страниц или иной модуль, реализуемый процессором 216 сервера 210 приложений. В одном из вариантов осуществления анализатор строк может автоматически идентифицировать большинство общих префиксов и суффиксов, например, в эквивалентных или соответствующих рядах текста веб-страниц 302 и 304, благодаря их повторяющемуся присутствую в статистически значимой части группы строк с символами. Более конкретно, в ответ на получение ряда различных строк символов анализатор 220 данных элементов веб-страниц может анализировать каждую индивидуальную текстовую строку для определения того, располагается ли уникальная подстрока символов в начале и/или в конце строки и появляется ли она с частотой, которая достаточно статистически значима в сравнении с задаваемым пользователем численным измерением, что позволяет считать эту уникальную подстроку заранее подготовленной последовательностью символов префикса и суффикса, а не случайной последовательностью символов.[0046] The analyzed character strings may be sent to a string analyzer, which is implemented as a web page element data analyzer 220 or other module implemented by a processor 216 of the application server 210. In one embodiment, the string analyzer can automatically identify most common prefixes and suffixes, for example, in equivalent or corresponding text lines of web pages 302 and 304, due to their repeated occurrence in a statistically significant part of a group of character strings. More specifically, in response to receiving a number of different character strings, the web page element data analyzer 220 can analyze each individual text string to determine whether a unique substring of characters is located at the beginning and / or end of the line and appears with a frequency that is sufficient statistically significant in comparison with a user-defined numerical measurement, which allows us to consider this unique substring as a pre-prepared sequence of prefix and suffix characters, rather than random character sequence.

[0047] В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц может извлекать текстовые элементы (например, строки текста) из одного и того же блока эталонных веб-страниц (например, страниц 302 и 304), и создавать для них простые регулярные выражения так, чтобы Х% текста соответствовало выражениям. Например, Х% может быть указано как 90%. В одном из вариантов осуществления простое регулярное выражение может быть использовано для идентификации сходных элементов следующим образом: анализатор 220 данных элементов веб-страниц берет два набора строк текста и ищет в них самый большой общий префикс, самый большой общий суффикс и самую большую общую подстроку: например, "размер объектива фотоаппарата" или подстроку "размер объектива", или подстроку "объектив". Таким образом, конкретное положение этих элементов может совместно указывать строку букв, образующих регулярное выражение, например "********" (главное слово "объектив" из 8 букв) или и “***********” - слово "фотоаппарат". В общем случае выражение может выглядеть как "********" (объектив) И "******" (размер) И “***********” (фотоаппарат). В текущем примере И (AND) (логический оператор конъюнкции) является логическим оператором, означающим, что слова "объектив", "размер" и "фотоаппарат" могут находиться рядом в любой последовательности. Альтернативно, анализатор 220 данных элементов веб-страниц может найти только два слова из выражения (допустим, "объектив" и "размер"). В этом конкретном случае анализатор 220 данных элементов веб-страниц может решить, что элемент веб-страницы отвечает выражению, хоть и без одного слова.[0047] In one embodiment, the web page element data analyzer 220 may extract text elements (eg, lines of text) from the same block of reference web pages (eg, pages 302 and 304), and create simple regular expressions so that X% of the text matches the expressions. For example, X% may be indicated as 90%. In one embodiment, a simple regular expression can be used to identify similar elements as follows: a web page element data analyzer 220 takes two sets of lines of text and looks for the largest common prefix, largest common suffix and largest common substring: for example , "camera lens size" or the substring "lens size", or the substring "lens". Thus, the specific position of these elements can collectively indicate a string of letters forming a regular expression, for example "********" (the main word is "lens" of 8 letters) or “********* ** ”- the word“ camera ”. In general, the expression may look like “********” (lens) AND “******” (size) AND “***********” (camera). In the current example, AND (logical conjunction operator) is a logical operator, meaning that the words “lens,” “size,” and “camera” can be next to each other in any order. Alternatively, the web page element data analyzer 220 may find only two words from the expression (for example, “lens” and “size”). In this particular case, the web page element data analyzer 220 may decide that the web page element matches the expression, albeit without one word.

[0048] В другом варианте осуществления, когда префикс, суффикс и подстрока оказываются слишком короткими для создания рабочего и эффективного регулярного выражения, данный набор подстрок может быть проанализирован анализатором 220 данных элементов веб-страниц для определения классов символов, содержащихся в строке. Например, классы символов могут включать в себя буквы одного или нескольких известных языков (например, английского или русского), цифры, доступные для печати символы американского стандартного кода обмена информацией ("ASCII"), некоторые символы юникода (Unicode) (которые, например, могут быть закодированы в формате преобразования юникода "UTF-8") и/или символы, которые могут присутствовать в URL (например, буквенно-цифровые символы), служебные символы (например, “;”, “/”, “?”, “:”, “@”, “=”, “&” “%”) и специальные символы (например, "$", "+", "!", "*"). Определив классы символов, которые содержатся в текстовых строках, анализатор 220 данных элементов веб-страниц может определить шаблон общих элементов текста как выражение, например, "сначала от 3 до 12 идут строчные символы на английском, затем символы пунктуации, а потом от 7 до 9 - цифры).[0048] In another embodiment, when the prefix, suffix, and substring are too short to create a working and effective regular expression, this set of substrings can be analyzed by the web page element data analyzer 220 to determine the character classes contained in the string. For example, character classes may include letters of one or more well-known languages (for example, English or Russian), numbers, printable characters of the American standard information exchange code ("ASCII"), some Unicode characters (which, for example, can be encoded in the Unicode conversion format “UTF-8”) and / or characters that may be present in the URL (for example, alphanumeric characters), service characters (for example, “;”, “/”, “?”, “ : ”,“ @ ”,“ = ”,“ & ”“% ”) And special characters (for example," $ "," + ","! "," * "). Having determined the character classes that are contained in the text strings, the analyzer 220 of the data of the web page elements can determine the pattern of the common text elements as an expression, for example, “first from 3 to 12 are lowercase characters in English, then punctuation characters, and then from 7 to 9 - numbers).

[0049] В другом варианте осуществления анализатор 220 данных элементов веб-страниц может определить простое регулярное выражение следующим образом. Анализатор 220 данных элементов веб-страниц может извлечь элементы одного и того же блока из эталонных веб-страниц и извлечь численную информацию из блока. Например, даты объявления о появлении товара или даты выпуска товара на рынок. В первом блоке может быть дата (например, год объявления о появлении товара) "1999", а во втором - дата выпуска товара на рынок "2017". Анализатор 220 данных элементов веб-страниц может создать регулярное выражение {4} [0-9], которое означает, что четыре цифры от нуля до девяти располагаются подряд. Альтернативно анализатор 220 данных элементов веб-страниц может создать регулярное выражение {2} (19⎜20)[0-9], которое означает, что могут присутствовать наборы цифр, причем первый - это либо "19", либо "20", и за ним идут две цифры от нуля до девяти.[0049] In another embodiment, the web page element data analyzer 220 may determine a simple regular expression as follows. Web page element data analyzer 220 may extract elements of the same block from reference web pages and extract numerical information from the block. For example, the date of announcement of the appearance of the product or the date of release of the product on the market. The first block may have a date (for example, the year of the announcement of the appearance of the goods) "1999", and the second - the date of release of the goods on the market "2017". Web page element data analyzer 220 may generate a regular expression {4} [0-9], which means that four digits from zero to nine are arranged in a row. Alternatively, the web page element data analyzer 220 may generate a regular expression {2} (19⎜20) [0-9], which means that there may be sets of numbers, the first being either “19” or “20”, and followed by two digits from zero to nine.

[0050] В одном из вариантов осуществления анализатор 220 данных элементов веб-страниц передает информацию об HTML-элементах в предварительно подтвержденных эталонных веб-страницах генератору 222 правил и генератору 224 шаблонов. Генератор 224 шаблонов выполнен с возможностью создавать набор шаблонов проверки для конкретной категории веб-страниц, которые содержат список, например, в основном сходных (т.е. общих), различных или одинаковых элементов с вставленным в них динамическим и изменяемым содержимым. Набор шаблонов может включать в себя один или более шаблонов. Шаблон может быть реализован как XML-подобный файл. Таким образом, например, один набор шаблонов проверки, созданный из предварительно подтвержденных эталонных веб-страниц 302 и 304, которые связаны с категорией "фотоаппараты", может включать в себя следующие общие текстовые элементы: наименование товара, наименование производителя, отзывы покупателей, цену по каталогу, описание, цвет, номер модели, размер объектива фотоаппарата, общие размеры и цифровой зум. Кроме того, может быть создан другой набор шаблонов проверки, который включает в себя идентификаторы изображений трех видов фотоаппарата в пространстве и видео фотоаппарата. Таким образом, любая проверенная веб-страница такой же категории должна иметь по меньшей мере те же самые текстовые элементы и, в одном из вариантов осуществления, вставленные в них изображения и видео.[0050] In one embodiment, the web page element data analyzer 220 transmits information about the HTML elements in the previously validated reference web pages to the rule generator 222 and template generator 224. Template generator 224 is configured to create a set of validation templates for a specific category of web pages that contain a list of, for example, generally similar (i.e., common), different or the same elements with dynamic and variable content inserted into them. A set of patterns may include one or more patterns. A template can be implemented as an XML-like file. Thus, for example, one set of validation templates created from pre-verified reference web pages 302 and 304, which are associated with the category "cameras", may include the following common text elements: product name, manufacturer name, customer reviews, price at catalog, description, color, model number, size of the camera lens, overall dimensions and digital zoom. In addition, another set of validation patterns can be created that includes the image identifiers of the three types of cameras in space and the video of the camera. Thus, any verified web page of the same category should have at least the same text elements and, in one embodiment, images and videos inserted therein.

[0051] В одном из вариантов осуществления генератор 222 правил выполнен с возможностью создавать наборы правил проверки, указывающие на логические, контекстуальные и/или пространственные отношения между элементами шаблонов веб-страниц, а также соответствие элементов. Набор правил может включать в себя одно или более правило. Правила могут быть реализованы с использованием условных выражений (например, утверждения "если/то"), с использованием, например, XML, Java, JavaScript или других языков программирования. В одном варианте осуществления один набор правил проверки может конкретизировать логические или контекстуальные отношения между элементами веб-страницы. Так, например, со ссылкой на Фиг. 3, элемент "описание фотоаппарата 1" веб-страницы 302 должен включать в себя по меньшей мере элементы "цвет", "номер модели", "размер объектива фотоаппарата", "общие размеры" и "цифровой зум". В другом варианте осуществления другой набор правил проверки может определить должен ли конкретный элемент веб-страницы быть представлен на веб-странице (например, поисковая панель). В другом варианте осуществления другой набор правил может определить, что группа элементов веб-страниц связана и должна быть представлена на каждой странице рядом (например, поисковая панель и "о товаре"). В другом варианте осуществления другой набор правил может определять, что два или более элемента веб-страницы не могут быть показаны на одной веб-странице (т.е. они друг друга исключают).[0051] In one embodiment, the rule generator 222 is configured to create sets of validation rules indicating logical, contextual, and / or spatial relationships between elements of web page templates, as well as element matching. A set of rules may include one or more rules. Rules can be implemented using conditional expressions (for example, if-then statements), using, for example, XML, Java, JavaScript or other programming languages. In one embodiment, one set of validation rules may specify logical or contextual relationships between elements of a web page. For example, with reference to FIG. 3, the “camera description 1” element of the web page 302 should include at least the “color”, “model number”, “camera lens size”, “overall sizes”, and “digital zoom” elements. In another embodiment, another set of validation rules may determine whether a particular element of a web page should be presented on the web page (e.g., search bar). In another embodiment, another set of rules may determine that a group of web page elements is related and should be presented on each page side by side (for example, a search bar and "about a product"). In another embodiment, another set of rules may determine that two or more elements of a web page cannot be displayed on the same web page (i.e., they are mutually exclusive).

[0052] В одном из вариантов осуществления созданный набор правил и шаблонов передается верификатору 226 веб-страниц, который использует правила и шаблоны для проверки соответствия и стабильности других веб-страниц той же самой категории, например, недавно добавленные веб-страницы или недавно обновленные веб-страницы (например, веб-страницы с обновленным содержимым). Сначала верификатор 226 веб-страниц может идентифицировать категорию веб-страниц, которые должны быть проверены, с помощью, например, анализа URL проверяемой веб-страницы. Так, если URL проверяемой веб-страницы выглядит как "market.yandex.ru/search/goods/cameras/camera3.htm", то верификатор 226 веб-страниц может определить, что веб-страница связана с категорией цифровых фотоаппаратов и для проверки этой веб-страницы должен быть использован подходящий набор правил и шаблонов проверки. Во время проверки этой веб-страницы верификатор 226 веб-страниц может проверить соответствие элементов веб-страницы с набором правил и шаблонов проверки. В частности, верификатор 226 веб-страниц может анализировать HTML-код веб-страницы, идентифицировать текстовые элементы, содержащиеся в нем, и сравнивать идентифицированные текстовые элементы с теми, что хранятся в связанных шаблонах проверки. В одном из вариантов осуществления простые регулярные выражения могут быть использованы для сравнения текстовых элементов веб-страницы с информацией, которая содержится в шаблоне проверки. Кроме того, верификатор 226 веб-страниц может применять связанные правила проверки для подтверждения логических взаимоотношений между элементами проверяемой веб-страницы. Такое сравнение может быть осуществлено с выбранным пороговым значением (например, различие Х%) или набором порогов (например, один или более верхних порогов и нижних порогов, указывающих разные наборы значений/интервалов). В одном из вариантов осуществления отсутствие или небольшое различие (например, <5%) между элементами проверяемой веб-страницы и элементами набора шаблонов проверки может привести к тому, что верификатор 226 веб-страниц может пометить веб-страницу как "подтвержденную". Однако, если вебстраница не прошла процесс подтверждения из-за, например, большого различия (например, >5%) между элементами текста проверяемой веб-страницы и элементами набора шаблонов проверки, или из-за нарушения некоторых логических или контекстуальных взаимоотношений между текстовыми элементами, требуемыми правилами проверки, то верификатор 226 веб-страниц может отправить веб-страницу на проверку человеку, который выполняет функции аналитика.[0052] In one embodiment, the generated set of rules and patterns is passed to the web page verifier 226, which uses the rules and patterns to check the consistency and stability of other web pages of the same category, for example, recently added web pages or recently updated web -pages (e.g. web pages with updated content). First, the web page verifier 226 can identify the category of web pages to be checked by, for example, analyzing the URL of the web page being checked. So, if the URL of the checked web page looks like "market.yandex.ru/search/goods/cameras/camera3.htm", then the web page verifier 226 can determine that the web page is associated with the category of digital cameras and to check this Web pages should use an appropriate set of rules and validation patterns. While checking this web page, the web page verifier 226 can verify that the elements of the web page match the set of rules and validation patterns. In particular, the web page verifier 226 can parse the HTML code of the web page, identify the text elements contained therein, and compare the identified text elements with those stored in the associated validation patterns. In one embodiment, simple regular expressions can be used to compare the text elements of a web page with the information contained in a validation template. In addition, the web page verifier 226 may apply related validation rules to confirm the logical relationships between the elements of the web page being checked. Such a comparison can be made with a selected threshold value (e.g., X% difference) or a set of thresholds (e.g., one or more upper thresholds and lower thresholds indicating different sets of values / ranges). In one embodiment, the absence or slight difference (for example, <5%) between the elements of the web page being checked and the elements of the set of validation templates may cause the web page verifier 226 to mark the web page as “confirmed”. However, if the web page has not passed the verification process due to, for example, a large difference (for example,> 5%) between the text elements of the checked web page and elements of the set of verification patterns, or due to the violation of some logical or contextual relationships between text elements, required verification rules, the verifier 226 web pages can send the web page for verification to a person who performs the functions of an analyst.

[0053] В одном из вариантов осуществления созданные наборы правил и шаблонов проверки могут быть сохранены в локальной базе(ах) данных 212 сервера 210 приложений. Альтернативно при горизонтальной структуре сервер внутренних баз данных и связанная с ним база данных 228 могут применяться для предоставления возможности записи, хранения и извлечения созданных правил и шаблонов. В одном из вариантов осуществления, как показано на Фиг. 2, сервер внутренних баз данных и связанная с ним база данных 228 могут реализовать менеджер 230 правил, менеджер 232 шаблонов и опциональный модуль 234 элементов данных веб-страниц для эффективной группировки созданных правил и шаблонов проверки и релевантных элементов данных веб-страниц, полученных от сервера 210 приложений с использованием любых подходящих структур данных, например, реляционных, объектоориентированных, операционных, NoSQL баз данных. В случае системы реляционных баз данных менеджер 230 правил может хранить и управлять полученными правилами с использованием таблиц; каждое правило может быть уникально идентифицировано составным идентификатором. Часть таких составных идентификаторов может идентифицировать конкретную таблицу в базе данных 228, с которой связано правило. Соответственно, когда идентификатор правила привлекается извне по отношению к базе данных, например, в рамках API-кода более высокого уровня, связанная таблица для этого правила может быть легко определена из самого идентификатора. Это дает возможность осуществлять в процедурах извлечения эффективный доступ к желаемому правилу из таблицы, в которой оно находится. Кроме того, знание исходной таблицы для правила может предоставить возможность легко отслеживать и изучать иную информацию, связанную с правилом (например, на основе знания различных таблиц в базе данных и типов данных, которые в них содержатся). И менеджер 232 шаблонов, и опциональный модуль 234 элементов данных веб-страниц могут управлять информацией, которая хранится в них, сходным образом.[0053] In one embodiment, the created rule sets and validation patterns can be stored in the local database (s) of data 212 of the application server 210. Alternatively, with a horizontal structure, the internal database server and its associated database 228 can be used to provide the ability to record, store and retrieve the created rules and patterns. In one embodiment, as shown in FIG. 2, the internal database server and its associated database 228 can be implemented by the rule manager 230, the template manager 232, and the optional module 234 web page data elements to effectively group the created rules and validation patterns and relevant web page data elements received from the server 210 applications using any suitable data structures, for example, relational, object-oriented, operational, NoSQL databases. In the case of a relational database system, the rules manager 230 may store and manage the resulting rules using tables; each rule can be uniquely identified by a composite identifier. Some of these composite identifiers may identify a particular table in database 228 with which the rule is associated. Accordingly, when the rule identifier is attracted externally to the database, for example, within the framework of a higher-level API code, the associated table for this rule can be easily determined from the identifier itself. This makes it possible to carry out effective access to the desired rule in the extraction table in the table in which it is located. In addition, knowing the source table for a rule can provide an opportunity to easily track and study other information associated with the rule (for example, based on the knowledge of the various tables in the database and the types of data that they contain). Both the template manager 232 and the optional webpage data element module 234 can manage the information stored in them in a similar manner.

[0054] В одном из вариантов осуществления созданные наборы правил и шаблонов могут быть связаны с разными категориями продуктов/услуг/товаров для обеспечения быстрого поиска и извлечения подходящих правил и шаблонов проверки менеджером 232 шаблонов и менеджером 230 правил во время проверки и подтверждения веб-страниц. Например, для веб-сайта торговли, на котором осуществляется продажа различных товаров, один набор правил и шаблонов может быть связан с "цифровыми фотоаппаратами", а другой набор правил и шаблонов проверки может быть связан с категорией веб-страниц "лазерные принтеры". Поэтому, при получении новой веб-страницы для проверки верификатор 226 веб-страниц определяет их категорию и запрашивает менеджер 232 шаблонов и менеджер 230 правил предоставить правила и шаблоны проверки, связанные с этой категорией. Менеджер 232 шаблонов и менеджер 230 правил извлекает из базы данных 228 полные наборы правил и шаблонов проверки, связанные с этой категорией продуктов, и возвращает их верификатору 226 веб-страниц. Поэтому, в этом варианте осуществления настоящего технического решения наборы правил и шаблонов могут быть сгруппированы и сохранены в базе данных 228 линейно (т.е. один полный набор правил и шаблонов проверки для каждой категории продуктов/товаров/услуг), что может подходить веб-сайтам с несколькими разными категориями веб-страниц и, поэтому, имеющих несколько разных наборов правил и шаблонов.[0054] In one embodiment, the created rules and templates can be associated with different categories of products / services / products to provide quick search and retrieval of suitable rules and verification templates by the template manager 232 and the rules manager 230 during the verification and confirmation of web pages . For example, for a trading website that sells various products, one set of rules and patterns may be associated with “digital cameras,” and another set of rules and patterns may be associated with the category of laser printers web pages. Therefore, upon receipt of a new web page for verification, the web page verifier 226 determines their category and requests the template manager 232 and the rules manager 230 to provide rules and verification templates associated with this category. The template manager 232 and the rules manager 230 retrieves from the database 228 the complete sets of rules and validation patterns associated with this product category and returns them to the web page verifier 226. Therefore, in this embodiment of the present technical solution, the sets of rules and patterns can be grouped and stored in the database 228 linearly (i.e., one complete set of rules and check patterns for each category of products / goods / services), which may suit the web sites with several different categories of web pages and, therefore, having several different sets of rules and patterns.

[0055] Однако для веб-сайтов с большим числом различных категорий и подкатегорий продуктов/товаров/услуг и соответствующих веб-страниц, например, для больших веб-сайтов сетевой торговли (например, Яндекс. Маркет, Amazon и eBay), для предоставления возможности быстрого поиска и извлечения полных наборов правил и шаблонов проверки иерархическое дерево и хранение правил и шаблонов проверки может подходить больше при условии отсутствия множества идентичных копий поднаборов правил и шаблонов проверки для каждой подкатегории веб-страниц. Например, веб-сайт сетевой торговли может иметь структуру иерархического дерева для категорий 400 продуктов, показанную на Фиг. 4. Корневой узел 414 представляет главную категорию товаров "компьютеры и электротовары". Дочерний узел 410 представляет подкатегорию товаров "фотоаппараты и фотокамеры". Дочерний узел 412 представляет подкатегорию товаров "принтеры и сопутствующие товары". "Внучатый" узел 406 представляет подкатегорию "цифровые однообъективные зеркальные фотоаппараты". "Внучатый" узел 408 представляет подкатегорию "записывающие видеокамеры". "Правнучатый" узел 404 представляет подкатегорию "объективы". Узел 402 представляет, например, веб-страницу объективов Nikon 50 mm f/1.4G для цифровых однообъективных зеркальных фотоаппаратов Nikon.[0055] However, for websites with a large number of different categories and subcategories of products / goods / services and corresponding web pages, for example, for large network trading websites (for example, Yandex. Market, Amazon, and eBay), to enable Quickly searching and retrieving complete sets of rules and test patterns A hierarchical tree and storing rules and test patterns may be more suitable if there aren’t many identical copies of the subsets of rules and test patterns for each subcategory of web pages. For example, a network trading website may have a hierarchical tree structure for product categories 400 shown in FIG. 4. The root node 414 represents the main category of goods "computers and electrical goods". The child node 410 is a subcategory of the “cameras and cameras” product category. The child node 412 is a subcategory of products "printers and related products." The “granddaughter” assembly 406 is a subcategory of “digital single lens reflex cameras”. The “granddaughter” assembly 408 represents a subcategory of “recording cameras”. The “equither-like” assembly 404 represents a subcategory of “lenses”. The assembly 402 is, for example, a web page of Nikon 50 mm f / 1.4G lenses for Nikon digital single lens reflex cameras.

[0056] В одном из вариантов осуществления каждая категория и подкатегория иерархического дерева 400 может иметь различные наборы правил и шаблонов проверки, связанных с ней. Например, главная категория 414 товаров "компьютеры и электротовары" может иметь набор правил 1 / шаблонов 1 проверки, связанный с ней. Набор правил 1 / шаблонов 1 проверки может идентифицировать элементы веб-страницы, общие для всех подкатегорий веб-страниц, включая, например, веб-страницы всех типов принтеров и сопутствующих товаров для принтеров, фотоаппаратов и другого фото- и видеооборудования и сопутствующих товаров. Такие шаблоны могут включать в себя элемент "описание продукта", "цена по каталогу", "отзывы покупателей", и другие текстовые элементы, общие для всех веб-страниц веб-сайта. Далее, две родственных подкатегории 410, 412 товаров, соответственно, "фотоаппараты и фотокамеры" и "принтеры и сопутствующие товары" два разных набора правил 2а / шаблонов 2а проверки и правил 2b / шаблонов 2b проверки, соответственно с ними связанных. Например, набор правил 2а / шаблонов 2а проверки может идентифицировать элементы веб-страницы (и их соответствующие отношения), общие для всех подкатегорий веб-страниц фото- и видеооборудования. Такие шаблоны могут включать в себя, например, элемент "изображение товара", "видео товара", "цвет товара", "сопутствующие товары" и другие текстовые элементы, общие для всех веб-страниц фото- и видеооборудования. Далее, две родственных подкатегории 406, 408 товаров, соответственно, "цифровые однообъективные зеркальные фотоаппараты" и "записывающие видеокамеры" два других разных набора правил 3а / шаблонов 3а проверки и правил 3b / шаблонов 3b проверки, соответственно с ними связанных. Например, набор правил 3а / шаблонов 3а проверки может идентифицировать элементы веб-страницы (и их соответствующие отношения), общие для всех подкатегорий веб-страниц цифровых однообъективных зеркальных фотоаппаратов. Такие шаблоны могут включать в себя, например, элемент "светочувствительная матрица", "размер объектива", "диапазон ISO" и другие текстовые элементы, общие для всех веб-страниц цифровых однообъективных зеркальных фотоаппаратов. И наконец, последняя подкатегория 404 товаров "объективы" может иметь другой набор правил 4 / шаблонов 4 проверки, связанных с ней. Например, набор правил 4 / шаблонов 4 проверки может идентифицировать элементы веб-страницы (и их соответствующие отношения), общие для всех веб-страниц объективов цифровых однообъективных зеркальных фотоаппаратов. Такие шаблоны могут включать в себя, например, элемент "тип байонета", "размер объектива", "фокусное расстояние" и "минимальное расстояние фокусировки" и другие текстовые элементы, общие для всех веб-страниц объективов цифровых однообъективных зеркальных фотоаппаратов. Таким образом, в одном примере, полный набор шаблонов и правил проверки для проверки веб-страницы 402 будет включать в себя все поднаборы шаблонов и правил из всех материнских категорий товаров, включая набор правил 1 и шаблонов 1, набор правил 1 и шаблонов 1, набор правил 2а и шаблонов 2а, набор правил 3а и шаблонов 3а, набор правил 4 и шаблонов 4. Следует отметить, что в случае конфликта между двумя или более элементами дочерних и материнских шаблонов (например, элемент шаблона 3а несовместим с другим элементом шаблона 2а при определенных условиях), может быть создано подходящее правило 2а (или 3а) для исключения несовместимого элемента(ов) из полного набора шаблонов узла (веб-страницы) 402.[0056] In one embodiment, each category and subcategory of the hierarchical tree 400 may have different sets of rules and validation patterns associated with it. For example, the main category 414 of products “computers and electrical goods” may have a set of rules 1 / check patterns 1 associated with it. The set of rules 1 / check patterns 1 can identify elements of a web page that are common to all subcategories of web pages, including, for example, web pages of all types of printers and related products for printers, cameras, and other photo and video equipment and related products. Such templates may include the element "product description", "catalog price", "customer reviews", and other text elements common to all web pages of a website. Further, two related subcategories 410, 412 of products, respectively, “cameras and cameras” and “printers and related products” are two different sets of rules 2a / verification patterns 2a and rules 2b / verification patterns 2b, respectively associated with them. For example, a set of rules 2a / validation patterns 2a can identify web page elements (and their corresponding relationships) that are common to all subcategories of web pages for photo and video equipment. Such templates may include, for example, the item “product image”, “product video”, “product color”, “related products” and other text elements common to all web pages of photo and video equipment. Further, two related product subcategories 406, 408, respectively, “digital single-lens reflex cameras” and “recording video cameras” are two other different sets of rules 3a / verification patterns 3a and rules 3b / verification patterns 3b, respectively associated with them. For example, a set of rules 3a / validation patterns 3a can identify web page elements (and their corresponding relationships) that are common to all web page subcategories of digital single-lens reflex cameras. Such templates may include, for example, the “photosensitive matrix”, “lens size”, “ISO range” and other text elements common to all web pages of digital single-lens reflex cameras. Finally, the final subcategory 404 of the “lenses” product may have a different set of 4 rules / 4 verification patterns associated with it. For example, a set of rules 4 / test patterns 4 can identify web page elements (and their corresponding relationships) that are common to all web pages of digital single-lens reflex cameras. Such patterns may include, for example, a “bayonet type” element, “lens size”, “focal length” and “minimum focus distance” and other text elements common to all web pages of digital single lens reflex camera lenses. Thus, in one example, a complete set of patterns and validation rules for checking a web page 402 will include all subsets of patterns and rules from all parent product categories, including set of rules 1 and patterns 1, set of rules 1 and patterns 1, set rules 2a and patterns 2a, a set of rules 3a and patterns 3a, a set of rules 4 and patterns 4. It should be noted that in the event of a conflict between two or more elements of child and parent patterns (for example, an element of pattern 3a is incompatible with another element of pattern 2a for certain conditions) ozhet be created suitable rule 2a (or 3a) to avoid an incompatible member (s) of a complete set of templates node (web page) 402.

[0057] Вышеописанное иерархическое дерево наборов правил и шаблонов проверки увеличивает универсальность правил и шаблонов проверки управляющей системы (например, сервера баз данных 228, менеджера 230 правил и менеджера 232 шаблонов), а также минимизирует требования к хранению данных, поскольку иерархическое/распределенное хранение наборов правил и шаблонов минимизирует дублирование наборов правил и шаблонов, общих для все категорий веб-страниц.[0057] The hierarchical tree of rule sets and validation patterns described above increases the versatility of the rules and validation patterns of the control system (for example, database server 228, rule manager 230, and pattern manager 232) and also minimizes data storage requirements because hierarchical / distributed storage of sets rules and patterns minimizes duplication of sets of rules and patterns common to all categories of web pages.

[0058] В одном из вариантов осуществления вышеописанное иерархическое дерево наборов правил и шаблонов проверки может быть использовано для проверки веб-страниц следующим образом. Со ссылками на Фиг. 2-4, сначала верификатор 226 веб-страниц может идентифицировать категорию веб-страниц, которые должны быть проверены, с помощью, например, анализа URL проверяемой веб-страницы. Затем, если URL проверяемой веб-страницы выглядит как "market.yanclex.ru/search/goods/cameras/SLRcamera3.htm", то верификатор 226 веб-страниц может определить, что веб-страница связана с категорией цифровых однообъективных зеркальных фотоаппаратов, и для проверки этой веб-страницы должен быть использован подходящие наборы шаблонов и правил проверки. Верификатор 226 веб-страниц запрашивает от менеджера 230 правил и менеджера 232 шаблонов подходящие наборы правил и шаблонов для категории цифровых однообъективных зеркальных фотоаппаратов. Менеджер 230 правил и/или менеджер 232 шаблонов может идентифицировать в иерархическом дереве 400 наборов правил и шаблонов узел 406, связанный с подкатегорией "цифровых однообъективных зеркальных фотоаппаратов" и извлечь набор правил 3а и шаблонов 3а проверки, которые в нем содержатся. Менеджер 230 правил и/или менеджер 232 шаблонов может затем "пройти" соединенные узлы, начиная с узла 406, к материнскому узлу 410 и к корневому узлу 414, и извлечь все наборы правил и шаблонов проверки, связанные с "пройденными" узлами, включая набор правил 2а и шаблонов 2а проверки и набор правил 1 и шаблонов 1 проверки. Менеджер 230 правил и/или менеджер 232 шаблонов затем возвращает извлеченный полный набор правил 1, 2а и 3а проверки и полный набор шаблонов 1, 2а и 3а проверки верификатору 226 веб-страниц. Верификатор 226 веб-страниц может, в свою очередь, проанализировать HTML-код проверяемых веб-страниц, идентифицировать текстовые элементы, которые в нем содержатся и проверить совпадение идентифицированных текстовых элементов с полными наборами правил и шаблонов проверки, полученных от менеджера 230 правил и/или менеджера 232 шаблонов. В одном из вариантов осуществления верификатор 226 веб-страниц может быть использован для сравнения текстовых элементов веб-страницы с информацией, которая содержится в наборах правил и шаблонов проверки. Кроме того, верификатор 226 веб-страниц может применять связанные правила проверки для подтверждения логических взаимоотношений между элементами проверяемой вебстраницы. Такое сравнение может быть осуществлено с выбранным пороговым значением (например, различие Х%) или набором порогов (например, один или более верхних порогов и нижних порогов, указывающих разные наборы значений/интервалов). В одном из вариантов осуществления отсутствие или небольшое различие (например, <5%) между элементами проверяемой веб-страницы и элементов набора шаблонов проверки может привести к тому, что верификатор 226 веб-страниц может пометить веб-страницу как "подтвержденную". Однако, если веб-страница не прошла процесс подтверждения из-за, например, большого различия (например, >5%) между элементами текста проверяемой веб-страницы и элементами набора шаблонов проверки, или из-за нарушения некоторых логических или контекстуальных взаимоотношений между текстовыми элементами, требуемыми правилами проверки, то верификатор 226 веб-страниц может отправить веб-страницу на проверку человеку, который выполняет функции аналитика.[0058] In one embodiment, the above hierarchical tree of rule sets and validation patterns can be used to validate web pages as follows. With reference to FIG. 2-4, first the web page verifier 226 can identify the category of web pages to be checked by, for example, analyzing the URL of the web page being checked. Then, if the URL of the checked webpage looks like "market.yanclex.ru/search/goods/cameras/SLRcamera3.htm", then the webpage verifier 226 can determine that the webpage is associated with the category of digital single-lens reflex cameras, and A suitable set of templates and validation rules must be used to validate this web page. The web page verifier 226 requests from the rules manager 230 and the template manager 232 the appropriate rule sets and templates for the category of digital single-lens reflex cameras. The rule manager 230 and / or the template manager 232 can identify the node 406 associated with the subcategory of “digital single-lens reflex cameras” in the hierarchical tree 400 of the rule sets and templates and retrieve the set of rules 3a and verification patterns 3a that it contains. The rules manager 230 and / or template manager 232 can then “go through” the connected nodes, starting from node 406, to the parent node 410 and to the root node 414, and retrieve all the rule sets and check patterns associated with the “passed” nodes, including the set rules 2a and test patterns 2a and a set of rules 1 and test patterns 1. The rules manager 230 and / or the template manager 232 then returns the extracted complete set of verification rules 1, 2a and 3a and the full set of verification templates 1, 2a and 3a to the web page verifier 226. The web page verifier 226 can, in turn, analyze the HTML code of the checked web pages, identify the text elements contained in it and verify that the identified text elements match the full sets of rules and verification patterns received from the rules manager 230 and / or manager of 232 templates. In one embodiment, the web page verifier 226 can be used to compare the text elements of the web page with the information contained in the rule sets and validation patterns. In addition, the web page verifier 226 may apply related validation rules to confirm the logical relationships between the elements of the web page being checked. Such a comparison can be made with a selected threshold value (e.g., X% difference) or a set of thresholds (e.g., one or more upper thresholds and lower thresholds indicating different sets of values / ranges). In one embodiment, the absence or slight difference (for example, <5%) between the elements of the web page being checked and the elements of the validation template set may cause the web page verifier 226 to mark the web page as “confirmed”. However, if the web page does not go through the verification process due to, for example, a large difference (for example,> 5%) between the text elements of the checked web page and elements of the set of validation templates, or because of a violation of some logical or contextual relationships between text elements required by the verification rules, the verifier 226 web pages can send the web page for verification to a person who performs the functions of an analyst.

[0059] На Фиг. 5 изображен пример способа проверки веб-страниц в соответствии с вариантом осуществления настоящего технического решения. Способ 500 может быть реализован с помощью систем 100 и 200, представленных на Фиг. 1 и 2. На этапе 502 способ 500 может включать в себя получение, например, процессором сервера 210 приложений на Фиг. 2 двух или более эталонных веб-страниц, каждая из которых содержит множество элементов веб-страниц HTML. На этапе 504 способ 500 может включать в себя анализ элементов HTML двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между анализируемыми элементами. На этапе 506 способ 500 может включать в себя создание набора шаблонов проверки, определяющего по меньшей мере множество элементов, общих для двух или более эталонных веб-страниц. На этапе 508 способ 500 может включать в себя создание набора правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами HTML каждой эталонной веб-страницы. На этапе 510 способ 500 может включать в себя подтверждение соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.[0059] In FIG. 5 shows an example of a method for checking web pages in accordance with an embodiment of the present technical solution. Method 500 may be implemented using systems 100 and 200 of FIG. 1 and 2. At step 502, method 500 may include, for example, receiving, by the processor, the application server 210 of FIG. 2 two or more reference web pages, each of which contains many elements of HTML web pages. At 504, method 500 may include analyzing HTML elements of two or more reference web pages to identify similarities and relationships between the elements being analyzed. At 506, method 500 may include creating a set of validation patterns defining at least a plurality of elements common to two or more reference web pages. At 508, method 500 may include creating a set of validation rules defining at least the logical relationships between the HTML elements of each master web page. At 510, method 500 may include verifying that the web page being checked matches the set of validation patterns and the set of validation rules.

[0060] На Фиг. 6 изображен пример способа проверки веб-страниц в соответствии с другим вариантом осуществления настоящего технического решения. Способ 600 может быть реализован с помощью систем 100 и 200, представленных на Фиг. 1 и 2. На этапе 602 способ 600 может включать в себя идентификацию категории проверяемой веб-страницы. На этапе 604 способ 600 может включать в себя идентификацию набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой вебстраницы. На этапе 606 способ 600 может включать в себя идентификацию в иерархическом дереве множество узлов, причем каждый узел связан с набором правил проверки и набором шаблонов проверки, а по меньшей мере один набор правил проверки и набор шаблонов проверки связан с категорией проверяемой веб-страницы. На этапе 608 способ 600 может включать в себя "обход" иерархического дерева от идентифицированного узла до корневого узла и идентификацию наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом. На этапе 610 способ 600 может включать в себя извлечение множества идентифицированных наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом для создания полного набора правил проверки и шаблонов проверки. На этапе 612 способ 600 может включать в себя использование полного набора правил проверки и набора шаблонов проверки для подтверждения соответствия проверяемой веб-страницы.[0060] FIG. 6 depicts an example of a method for checking web pages in accordance with another embodiment of the present technical solution. Method 600 may be implemented using systems 100 and 200 shown in FIG. 1 and 2. At block 602, method 600 may include identifying a category of the web page being checked. At 604, method 600 may include identifying a set of validation rules and a set of validation templates associated with the category of the webpage being scanned. At 606, method 600 may include identifying a plurality of nodes in a hierarchical tree, each node associated with a set of verification rules and a set of verification templates, and at least one set of verification rules and a set of verification templates associated with a category of the checked web page. At 608, method 600 may include “traversing” the hierarchical tree from the identified node to the root node and identifying sets of verification rules and sets of verification templates associated with each “passed” node. At 610, method 600 may include retrieving a plurality of identified sets of verification rules and sets of verification templates associated with each “passed” node to create a complete set of verification rules and verification templates. At 612, method 600 may include using a full set of validation rules and a set of validation templates to verify that the webpage being verified is valid.

[0061] На Фиг. 7 представлен один из вариантов осуществления компьютерной системы 5, которая может быть использована для реализации описанных систем и способов проверки веб-страниц. Компьютерная система 5 может включать в себя (без введения ограничений) сервер (например, сервер 210) приложений, веб-сервер, персональный компьютер, ноутбук, настольный компьютер, смартфон или другой тип устройства обработки данных. Как показано, компьютерная система 5 может включать в себя один или несколько аппаратных процессоров 15, память 20, один или несколько жестких дисков 30, оптических приводов 35, последовательных портов 40, графическую карту 45, звуковую карту 50 и сетевую(ые) карту(ы) 55, соединенную с системной шиной 10. Системная шина 10 может представлять собой шинную структуру любого типа, который включает в себя шину памяти, контроллер памяти, периферическую шину и локальную шину, использующую любой из множества известных шинных архитектур. Процессор 15 может включать в себя одно или несколько процессоров Intel® Core 2 Quad 2.33 ГГц или другой тип микропроцессоров.[0061] In FIG. 7 illustrates one embodiment of a computer system 5 that can be used to implement the described systems and methods for checking web pages. Computer system 5 may include (without limitation) an application server (e.g., server 210), a web server, a personal computer, a laptop, a desktop computer, a smartphone, or another type of data processing device. As shown, computer system 5 may include one or more hardware processors 15, memory 20, one or more hard drives 30, optical drives 35, serial ports 40, graphics card 45, sound card 50, and network (s) card (s) ) 55 connected to the system bus 10. The system bus 10 may be any type of bus structure that includes a memory bus, a memory controller, a peripheral bus, and a local bus using any of a variety of known bus architectures. Processor 15 may include one or more Intel® Core 2 Quad 2.33 GHz processors or another type of microprocessor.

[0062] Системная память 20 может включать в себя постоянную память (ПЗУ) 21 и оперативную память (ОЗУ) 23. Память 20 может быть реализована как динамическое ОЗУ, стираемое программируемое ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любая другая архитектура памяти. ПЗУ 21 хранит базовую систему ввода/вывода 22 (BIOS), содержащую основные процедуры, которые помогают передавать информацию между модулями компьютерной системы 5, например, во время запуска. ОЗУ 23 хранит операционную систему 24 (ОС), например, Windows® 7 Professional или другой тип операционной системы, который отвечает за управление и координацию процессов и распределения аппаратных ресурсов в компьютерной системе 5. Память 20 также хранит приложения и программы 25. Память 20 также сохраняет различные данные 26 этапа исполнения, используемые программами 25.[0062] System memory 20 may include read-only memory (ROM) 21 and random access memory (RAM) 23. Memory 20 may be implemented as dynamic RAM, erasable programmable ROM, electrically erasable programmable ROM, flash memory, or any other memory architecture . The ROM 21 stores a basic input / output system 22 (BIOS) containing basic procedures that help transfer information between modules of the computer system 5, for example, during startup. RAM 23 stores the operating system 24 (OS), for example, Windows® 7 Professional or another type of operating system that is responsible for managing and coordinating the processes and allocation of hardware resources in computer system 5. Memory 20 also stores applications and programs 25. Memory 20 also saves various data 26 stages of execution used by programs 25.

[0063] Компьютерная система 5 может дополнительно включать в себя жесткий(е) диск(и) 30, например SATA HDD, и оптический(е) привод(ы) 35 для чтения или записи съемного оптического диска, например CD-ROM, DVD-ROM или другого оптического носителя. Диски 30 и 35 и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых инструкций, структур данных, приложений и программных модулей/подпроцедур, которые реализуют описанные здесь алгоритмы и способы. Несмотря на то, что примерная компьютерная система 5 использует магнитные и оптические диски, специалисты в данной области техники оценят, что в альтернативных вариантах осуществления компьютерной системы 5 также могут быть использованы другие типы машиночитаемых носителей, которые способные хранить данные, доступные компьютерной системе 5, например, магнитные кассеты, флэш-карты памяти, цифровые видеодиски, ОЗУ, ПЗУ, стираемое программируемое ПЗУ и другие типы памяти.[0063] The computer system 5 may further include hard disk (s) 30, such as a SATA HDD, and optical (s) drive (s) 35 for reading or writing a removable optical disk, such as a CD-ROM, DVD- ROM or other optical media. Drives 30 and 35 and associated computer-readable media provide non-volatile storage of computer-readable instructions, data structures, applications, and software modules / sub-procedures that implement the algorithms and methods described herein. Although the exemplary computer system 5 uses magnetic and optical disks, those skilled in the art will appreciate that other types of computer-readable media that can store data available to the computer system 5 can also be used in alternative embodiments of the computer system 5, for example , magnetic cassettes, flash memory cards, digital video disks, RAM, ROM, erasable programmable ROM and other types of memory.

[0064] Компьютерная система 5 дополнительно включает в себя множество последовательных портов 40, например, универсальную последовательную шину (USB), для подключения устройств(а) 75 ввода данных, таких как клавиатура, мышь, сенсорная панель и прочие. Последовательные порты 40 также могут быть использованы для подключения устройств(а) 80 вывода данных, таких как принтер, сканер и другие, а также других периферийных устройств(а) 85, например, внешних устройств хранения данных и т.п. Система 5 также может включать в себя видеокарту 45, например nVidia® GeForce® GT 240М или другую видеокарту, для взаимодействия с экраном 60 или другим устройством воспроизведения видео, например, сенсорным экраном. Система 5 также может включать в себя звуковую карту 50 для воспроизведения звука через внутренние или внешние динамики 65. Кроме того, система 5 может включать в себя сетевую(ые) карту(ы) 55, такие как Ethernet, WiFi, GSM, Bluetooth или другой проводной, беспроводной или сотовый сетевой интерфейса для подключения компьютерной системы 5 к сети 70, например, к сети интернет.[0064] The computer system 5 further includes a plurality of serial ports 40, for example, a universal serial bus (USB), for connecting data input devices (a) 75, such as a keyboard, mouse, touch panel, and others. Serial ports 40 can also be used to connect data output devices (a) 80, such as a printer, scanner, and others, as well as other peripheral devices (a) 85, for example, external storage devices and the like. System 5 may also include a video card 45, such as an nVidia® GeForce® GT 240M or other video card, for interacting with a screen 60 or other video playback device, such as a touch screen. System 5 may also include a sound card 50 for reproducing sound through internal or external speakers 65. In addition, system 5 may include network (s) card (s) 55, such as Ethernet, WiFi, GSM, Bluetooth, or another a wired, wireless or cellular network interface for connecting a computer system 5 to a network 70, for example, to the Internet.

[0065] В различных вариантах осуществления, системы и способы, описанные здесь, могут быть реализованы на аппаратном обеспечении, прикладном программном обеспечении, системном программном обеспечении или любой из их комбинаций. При реализации в виде прикладного программного обеспечения, способы могут быть сохранены в виде одной или нескольких инструкций, или кода на постоянном машиночитаемом носителе. Машиночитаемый носитель включает в себя хранилище данных. В качестве примера, а не ограничения, подобный машиночитаемый носитель может представлять собой ОЗУ, ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любой другой тип электрического, магнитного или оптического носителя, или любой другой носитель, который может быть использован для переноса или хранения желаемого программного кода в форме инструкций или структур данных, к которым может обращаться процессор компьютера общего назначения.[0065] In various embodiments, the systems and methods described herein can be implemented in hardware, application software, system software, or any combination thereof. When implemented as application software, the methods may be stored as one or more instructions, or code on a permanent computer-readable medium. Computer-readable media includes data storage. By way of example, and not limitation, such a machine-readable medium may be RAM, ROM, electrically erasable programmable ROM, flash memory or any other type of electrical, magnetic or optical medium, or any other medium that can be used for transfer or storage desired program code in the form of instructions or data structures that can be accessed by a general-purpose computer processor.

[0066] Для ясности стоит отметить, что здесь описаны не все обычные признаки вариантов осуществления. Следует иметь в виду, что при модификации какого-либо фактического варианта осуществления настоящего технического решения, необходимо принять ряд специфичных для варианта осуществления решений для достижения конкретных целей разработчика, и эти конкретные цели будут отличаться для различных вариантов осуществления и для различных разработчиков. Следует иметь в виду, что подобная разработка может быть сложной и затратной по времени, но, тем не менее, не будет представлять сложности для опытных специалистов в данной области техники, обладающих преимуществом от прочтения настоящего описания.[0066] For clarity, it is worth noting that not all common features of the embodiments are described herein. It should be borne in mind that when modifying an actual embodiment of the present technical solution, it is necessary to take a number of solutions specific to the embodiment to achieve the specific goals of the developer, and these specific goals will differ for different embodiments and for different developers. It should be borne in mind that such a development can be complex and time-consuming, but, nevertheless, will not be difficult for experienced specialists in this field of technology, who have the advantage of reading the present description.

[0067] Кроме того, следует иметь в виду, что фразеология и терминология используется здесь в целях описания, а не ограничения, таким образом, терминология или фразеология настоящего описания должна интерпретироваться специалистами в данной области техники с учетом представленных здесь указаний и руководства в сочетании со знаниями специалистов в соответственной(ых) области(ях) техники. Более того, ни одному термину в описании или формуле не следует приписывать особого или специального смысла, если явно не указано иное.[0067] In addition, it should be borne in mind that phraseology and terminology are used here for description and not limitation, therefore, the terminology or phraseology of the present description should be interpreted by specialists in this field of technology in the light of the guidance and guidance provided herein in conjunction with knowledge of specialists in the respective field (s) of technology. Moreover, no term in the description or formula should be assigned a special or special meaning, unless explicitly stated otherwise.

[0068] Различные описанные здесь варианты осуществления охватывают эквиваленты известных модулей, указанных в данном описании в целях иллюстрации. Кроме того, несмотря на представленные и описанные варианты осуществления и приложения, специалистам в данной области техники, обладающим преимуществом от прочтения настоящего описания, будет очевидно, что возможна реализация многих других вышеописанных модификаций без отступления от представленной здесь концепции настоящего технического решения.[0068] The various embodiments described herein encompass equivalents to the known modules described herein for purposes of illustration. In addition, in spite of the presented and described embodiments and applications, it will be obvious to those skilled in the art who benefit from reading the present description that many other modifications described above can be implemented without departing from the concept of the present technical solution presented here.

Claims (67)

1. Компьютерный способ проверки веб-страниц, способ содержит:1. A computer method for checking web pages, the method comprises: получение двух или более эталонных веб-страниц, причем каждая веб-страница содержит множество элементов веб-страницы;obtaining two or more reference web pages, each web page containing a plurality of web page elements; анализ процессором элементов веб-страницы двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц;the processor’s analysis of the web page elements of two or more reference web pages to identify similarities and relationships between web page elements; создание процессором набора шаблонов проверки, идентифицирующих по меньшей мере множество элементов, множество элементов общее для двух или более эталонных веб-страниц;creation by the processor of a set of test patterns identifying at least a plurality of elements, a plurality of elements common to two or more reference web pages; создание процессором набора правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; иcreation by the processor of a set of validation rules defining at least the logical relationships between the web page elements of each reference web page; and подтверждение процессором соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.Confirmation by the processor of the conformity of the checked web page to the set of verification patterns and the set of verification rules. 2. Способ по п. 1, в котором анализ процессором элементов веб-страницы двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц содержит:2. The method according to p. 1, in which the analysis by the processor of the web page elements of two or more reference web pages to identify the similarities and relationships between the elements of web pages contains: создание одного или нескольких регулярных выражений для одного или нескольких элементов веб-страниц; иcreating one or more regular expressions for one or more elements of web pages; and использование регулярных выражений для идентификации сходных элементов в двух или более эталонных веб-страницах.using regular expressions to identify similar elements in two or more reference web pages. 3. Способ по п. 2, в котором регулярное выражение содержит множество символов и операторов для определения набора одной или нескольких строк в виде выражения или шаблона.3. The method according to claim 2, in which the regular expression contains many characters and operators for determining a set of one or more lines in the form of an expression or template. 4. Способ по п. 3, в котором регулярное выражение содержит самый длинный общий префикс, самый длинный общий суффикс и самую длинную общую подстроку текстового контента элемента веб-страницы.4. The method of claim 3, wherein the regular expression comprises the longest common prefix, the longest common suffix, and the longest common substring of text content of a web page element. 5. Способ по п. 2, в котором регулярное выражение выполнено с возможностью сравнивать выбранный процент текстового контента элемента веб-страницы.5. The method of claim 2, wherein the regular expression is configured to compare a selected percentage of text content of a web page element. 6. Способ по п. 1, в котором дополнительно выполняют:6. The method according to p. 1, in which additionally perform: идентификацию категории двух и более проверяемых веб-страниц; иidentification of the category of two or more checked web pages; and связывание созданного набора правил проверки и набора шаблонов проверки с категорией.Linking the created set of validation rules and a set of validation templates to a category. 7. Способ по п. 1, в котором подтверждение соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки содержит:7. The method according to claim 1, in which the confirmation of compliance of the checked web page with the set of test templates and the set of verification rules contains: идентификацию категории проверяемой веб-страницы;identification of the category of the checked web page; идентификацию набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой веб-страницы; иidentification of a set of validation rules and a set of validation templates associated with the category of the web page being scanned; and применение набора правил проверки и набора шаблонов проверки к проверяемой веб-странице.applying a set of validation rules and a set of validation templates to the web page being scanned. 8. Способ по п. 7, в котором для идентификации набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой веб-страницы, выполняют:8. The method according to claim 7, in which to identify a set of verification rules and a set of verification templates associated with the category of the checked web page, perform: идентификацию в иерархическом дереве множества узлов, причем каждый узел связан с набором правил проверки и набором шаблонов проверки, а по меньшей мере один набор правил проверки и набор шаблонов проверки связан с категорией проверяемой веб-страницы;identification in the hierarchical tree of a plurality of nodes, each node being associated with a set of verification rules and a set of verification templates, and at least one set of verification rules and a set of verification templates associated with the category of the checked web page; "обход" иерархического дерева от идентифицированного узла до корневого узла и идентификацию наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом;“traversing” the hierarchical tree from the identified node to the root node and identifying sets of verification rules and sets of verification templates associated with each “passed” node; извлечение множества идентифицированных наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом, для создания полного набора правил проверки и шаблонов проверки; иextracting a plurality of identified sets of verification rules and sets of verification templates associated with each “passed” node to create a complete set of verification rules and verification templates; and использование полного набора правил проверки и набора шаблонов проверки для подтверждения соответствия проверяемой веб-страницы.Using a full set of validation rules and a set of validation templates to verify that the webpage being verified is valid. 9. Система для проверки веб-страниц, содержащая:9. A system for checking web pages, containing: по меньшей мере один процессор, выполненный с возможностью:at least one processor configured to: получать две или более эталонные веб-страницы, причем каждая веб-страница содержит множество элементов веб-страницы;receive two or more reference web pages, each web page containing a plurality of web page elements; анализировать элементы веб-страницы двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц;analyze web page elements of two or more reference web pages to identify similarities and relationships between web page elements; создавать набор шаблонов проверки, идентифицирующих по меньшей мере множество элементов, множество элементов общее для двух или более эталонных веб-страниц;create a set of validation patterns identifying at least a plurality of elements, a plurality of elements common to two or more reference web pages; создавать набор правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; иcreate a set of validation rules that define at least the logical relationships between the web page elements of each reference web page; and выполнять подтверждение соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.Confirm that the web page being checked matches the set of validation patterns and the set of validation rules. 10. Система по п. 9, в которой процессор выполнен с дополнительной возможностью:10. The system of claim 9, wherein the processor is configured to: создавать одно или несколько регулярных выражений для одного или нескольких элементов веб-страниц; иcreate one or more regular expressions for one or more elements of web pages; and использовать регулярное выражение для идентификации сходных элементов в двух или более эталонных веб-страницах.use a regular expression to identify similar elements in two or more reference web pages. 11. Система по п. 10, в которой регулярное выражение содержит множество символов и операторов для определения набора одной или нескольких строк в виде выражения или шаблона.11. The system of claim 10, wherein the regular expression contains a plurality of characters and operators for determining a set of one or more lines in the form of an expression or pattern. 12. Система по п. 11, в которой регулярное выражение содержит самый длинный общий префикс, самый длинный общий суффикс и самую длинную общую подстроку текстового содержимого элемента веб-страницы.12. The system of claim 11, wherein the regular expression contains the longest common prefix, the longest common suffix, and the longest common substring of text content of a web page element. 13. Система по п. 10, в которой регулярное выражение выполнено с возможностью сравнивать выбранный процент текстового содержимого элемента веб-страницы.13. The system of claim 10, wherein the regular expression is configured to compare a selected percentage of text content of a web page element. 14. Система по п. 9, в которой процессор выполнен с дополнительной возможностью:14. The system of claim 9, wherein the processor is configured to: идентифицировать категории двух и более проверяемых веб-страниц; иidentify the categories of two or more checked web pages; and связывать созданный набор правил проверки и набор шаблонов проверки с категорией.Associate a created set of validation rules and a set of validation templates with a category. 15. Система по п. 9, в которой процессор выполнен с дополнительной возможностью:15. The system of claim 9, wherein the processor is configured to: идентифицировать категорию проверяемой веб-страницы;identify the category of the checked web page; идентифицировать набор правил проверки и набор шаблонов проверки, связанные с категорией проверяемой веб-страницы; иidentify a set of validation rules and a set of validation templates associated with the category of the webpage being scanned; and применять набор правил проверки и набор шаблонов проверки к проверяемой веб-странице.Apply a set of validation rules and a set of validation templates to the web page being scanned. 16. Система по п. 15, в которой идентификация набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой веб-страницы, включает:16. The system of claim 15, wherein the identification of the set of validation rules and the set of validation templates associated with the category of the web page being checked includes: идентификацию в иерархическом дереве множества узлов, причем каждый узел связан с набором правил проверки и набором шаблонов проверки, а по меньшей мере один набор правил проверки и набор шаблонов проверки связан с категорией проверяемой веб-страницы;identification in the hierarchical tree of a plurality of nodes, each node being associated with a set of verification rules and a set of verification templates, and at least one set of verification rules and a set of verification templates associated with the category of the checked web page; "обход" иерархического дерева от идентифицированного узла до корневого узла и идентификацию наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом;“traversing” the hierarchical tree from the identified node to the root node and identifying sets of verification rules and sets of verification templates associated with each “passed” node; извлечение множества идентифицированных наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом для создания полного набора правил проверки и шаблонов проверки; иextracting a plurality of identified sets of verification rules and sets of verification templates associated with each "passed" node to create a complete set of verification rules and verification templates; and использование полного набора правил проверки и набора шаблонов проверки для подтверждения соответствия проверяемой веб-страницы.Using a full set of validation rules and a set of validation templates to verify that the webpage being verified is valid. 17. Постоянный машиночитаемый носитель, содержащий выполняемые компьютером инструкции для проверки веб-страниц, включающие в себя инструкции для:17. Permanent computer-readable medium containing computer-executable instructions for checking web pages, including instructions for: получения двух или более эталонных веб-страниц, причем каждая веб-страница содержит множество элементов веб-страницы;receiving two or more reference web pages, each web page containing a plurality of web page elements; анализа элементов веб-страницы двух или более эталонных веб-страниц для идентификации сходства и взаимоотношений между элементами веб-страниц;analyzing web page elements of two or more reference web pages to identify similarities and relationships between web page elements; создания набора шаблонов проверки, идентифицирующих по меньшей мере множество элементов, множество элементов общее для двух или более эталонных веб-страниц;creating a set of validation patterns identifying at least a plurality of elements, a plurality of elements common to two or more reference web pages; создания набора правил проверки, определяющих по меньшей мере логические взаимоотношения между элементами веб-страницы каждой эталонной веб-страницы; иcreating a set of validation rules that define at least the logical relationships between the web page elements of each reference web page; and подтверждения соответствия проверяемой веб-страницы набору шаблонов проверки и набору правил проверки.Confirmation of the compliance of the checked web page with the set of verification templates and the set of verification rules. 18. Носитель по п. 17, в котором выполняемые компьютером инструкции для проверки веб-страниц включают в себя инструкции для:18. The medium of claim 17, wherein the computer-executable instructions for checking web pages include instructions for: создания одного или нескольких регулярных выражений для одного или нескольких элементов веб-страниц; иcreating one or more regular expressions for one or more elements of web pages; and использования регулярных выражений для идентификации сходных элементов в двух или более эталонных веб-страницах.using regular expressions to identify similar elements in two or more reference web pages. 19. Носитель по п. 17, в котором выполняемые компьютером инструкции для проверки веб-страниц включают в себя инструкции для:19. The medium of claim 17, wherein the computer-executable instructions for checking web pages include instructions for: идентификации категории проверяемой веб-страницы;identification of the category of the checked web page; идентификации набора правил проверки и набора шаблонов проверки, связанных с категорией проверяемой веб-страницы; иidentifying a set of validation rules and a set of validation templates associated with the category of the webpage being scanned; and применения набора правил проверки и набора шаблонов проверки к проверяемой веб-странице.applying a set of validation rules and a set of validation templates to the web page being scanned. 20. Носитель по п. 19, в котором выполняемые компьютером инструкции для проверки веб-страниц включают в себя инструкции для:20. The medium according to claim 19, in which the computer-executable instructions for checking web pages include instructions for: идентификации в иерархическом дереве множества узлов, причем каждый узел связан с набором правил проверки и набором шаблонов проверки, а по меньшей мере один набор правил проверки и набор шаблонов проверки связан с категорией проверяемой веб-страницы;identifying in the hierarchical tree many nodes, each node associated with a set of verification rules and a set of verification templates, and at least one set of verification rules and a set of verification templates associated with the category of the checked web page; "обхода" иерархического дерева от идентифицированного узла до корневого узла и идентификацию наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом;“traversing” the hierarchical tree from the identified node to the root node and identifying sets of verification rules and sets of verification templates associated with each “passed” node; извлечения множества идентифицированных наборов правил проверки и наборов шаблонов проверки, связанных с каждым "пройденным" узлом для создания полного набора правил проверки и шаблонов проверки; иretrieving a plurality of identified sets of verification rules and sets of verification templates associated with each “passed” node to create a complete set of verification rules and verification templates; and использования полного набора правил проверки и набора шаблонов проверки для подтверждения соответствия проверяемой веб-страницы.Using a complete set of validation rules and a set of validation templates to verify that the webpage being verified is valid.
RU2015116942A 2015-05-06 2015-05-06 System, method and constant machine-readable medium for validation of web pages RU2632149C2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
RU2015116942A RU2632149C2 (en) 2015-05-06 2015-05-06 System, method and constant machine-readable medium for validation of web pages
PCT/IB2015/057825 WO2016178068A1 (en) 2015-05-06 2015-10-13 System and method for testing web pages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
RU2015116942A RU2632149C2 (en) 2015-05-06 2015-05-06 System, method and constant machine-readable medium for validation of web pages

Publications (2)

Publication Number Publication Date
RU2015116942A RU2015116942A (en) 2016-11-27
RU2632149C2 true RU2632149C2 (en) 2017-10-02

Family

ID=57217967

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2015116942A RU2632149C2 (en) 2015-05-06 2015-05-06 System, method and constant machine-readable medium for validation of web pages

Country Status (2)

Country Link
RU (1) RU2632149C2 (en)
WO (1) WO2016178068A1 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110399586A (en) * 2019-07-31 2019-11-01 深圳前海微众银行股份有限公司 Automatic processing method, device, equipment and the medium of web interface element
CN110990275B (en) * 2019-11-25 2023-09-22 中国银行股份有限公司 Page display test method and device for mobile banking
CN111552462B (en) * 2019-12-31 2023-12-05 远景智能国际私人投资有限公司 Device model construction method and device for Internet of things device and storage medium
CN111597107B (en) * 2020-04-22 2023-04-28 北京字节跳动网络技术有限公司 Information output method and device and electronic equipment

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360235B1 (en) * 1999-03-16 2002-03-19 Webcriteria, Inc. Objective measurement and graph theory modeling of web sites
US20070005652A1 (en) * 2005-07-02 2007-01-04 Electronics And Telecommunications Research Institute Apparatus and method for gathering of objectional web sites
KR20110077445A (en) * 2009-12-30 2011-07-07 엔에이치엔(주) System and method for site clustering
US20120239598A1 (en) * 2011-03-15 2012-09-20 Cascaval Gheorghe C Machine Learning Method to Identify Independent Tasks for Parallel Layout in Web Browsers
CN104021185A (en) * 2014-06-11 2014-09-03 北京奇虎科技有限公司 Method and device for identifying information attributes of data in web pages
RU2530671C1 (en) * 2013-07-24 2014-10-10 Общество С Ограниченной Ответственностью "Балакам" Checking method of web pages for content in them of target audio and/or video (av) content of real time

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039860B1 (en) * 1999-10-01 2006-05-02 Netspinner Solutions As Creating web pages category list prior to the list being served to a browser
US7778889B2 (en) * 2000-08-31 2010-08-17 The Softad Group, Llc Modular e-commerce web site development system
WO2008035044A2 (en) * 2006-09-18 2008-03-27 Yann Emmanuel Motte Methods and apparatus for selection of information and web page generation
DE102006057525A1 (en) * 2006-12-06 2008-06-12 Siemens Ag Method for determining two similar websites, involves determining construction, content and graphic elements of reference website in form of reference data
US8589366B1 (en) * 2007-11-01 2013-11-19 Google Inc. Data extraction using templates

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360235B1 (en) * 1999-03-16 2002-03-19 Webcriteria, Inc. Objective measurement and graph theory modeling of web sites
US20070005652A1 (en) * 2005-07-02 2007-01-04 Electronics And Telecommunications Research Institute Apparatus and method for gathering of objectional web sites
KR20110077445A (en) * 2009-12-30 2011-07-07 엔에이치엔(주) System and method for site clustering
US20120239598A1 (en) * 2011-03-15 2012-09-20 Cascaval Gheorghe C Machine Learning Method to Identify Independent Tasks for Parallel Layout in Web Browsers
RU2530671C1 (en) * 2013-07-24 2014-10-10 Общество С Ограниченной Ответственностью "Балакам" Checking method of web pages for content in them of target audio and/or video (av) content of real time
CN104021185A (en) * 2014-06-11 2014-09-03 北京奇虎科技有限公司 Method and device for identifying information attributes of data in web pages

Also Published As

Publication number Publication date
RU2015116942A (en) 2016-11-27
WO2016178068A1 (en) 2016-11-10

Similar Documents

Publication Publication Date Title
US11372935B2 (en) Automatically generating a website specific to an industry
US8046681B2 (en) Techniques for inducing high quality structural templates for electronic documents
JP5948445B2 (en) Foreign language translation using product information
US20130191723A1 (en) Web Browser Device for Structured Data Extraction and Sharing via a Social Network
US20080115057A1 (en) High precision data extraction
US20150007022A1 (en) Generating websites and business documents from seed input
US20140278880A1 (en) Matching a Coupon to A Specific Product
US11256912B2 (en) Electronic form identification using spatial information
US20150287047A1 (en) Extracting Information from Chain-Store Websites
US11860955B2 (en) Method and system for providing alternative result for an online search previously with no result
US20130117716A1 (en) Function Extension for Browsers or Documents
US9886711B2 (en) Product recommendations over multiple stores
RU2632149C2 (en) System, method and constant machine-readable medium for validation of web pages
JP2020504879A (en) System and method for collecting data related to malicious content in a networked environment
WO2014081762A1 (en) Mobile-commerce store generator that automatically extracts and converts data
US9319480B2 (en) Managing digital media presented in online digital media store
US10503743B2 (en) Integrating search with application analysis
US20170337570A1 (en) Analytics system for product retention management
TWI280488B (en) Online intelligent information comparison agent of multilingual electronic data sources over inter-connected computer networks
US10423636B2 (en) Relating collections in an item universe
Ou et al. Viopolicy-detector: An automated approach to detecting GDPR suspected compliance violations in websites
RU2775561C1 (en) Method and system for identification of electronic devices of real clients of organizations
Senghout IMPROVING CUSTOMER CONVENIENCE USING E-BUSINESS (CASE STUDY: WWW. HOUTCOMPUTER. TK)
vanden Broucke et al. Examples
Seanghor E-BUSINESS OF PHONE ONLINE SHOP USING B2C CASE STUDY: PHONE SHOP IN CAMBODIA