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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
- G06F40/143—Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/194—Calculation of difference between files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
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
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
[0027] В одном из вариантов осуществления модуль приложений устройства 102 может также включать в себя приложения третьих лиц, осуществляющие доступ к сетевой системе 100 через программный интерфейс, предоставленный сервером 112 API или сервером 120 третьих лиц. Например, сервер 112 API или сервер 120 третьих лиц может, используя информацию, извлеченную из сервера(ов) 114 приложений, поддерживать одну или несколько характеристик или функций на веб-сайте, хранящемся одним или несколькими третьими лицами, для каждого устройства 102. Веб-сайт(ы) третьих лиц могут предоставлять одну или несколько функций из следующего списка: рекламную, рыночную или платежную, которые поддерживаются соответствующими приложениями сетевой системы 100. Следует понимать, что, в дополнение к прямому доступу к сетевой системе 100, модуль 104 приложений вместе с веб-браузером 106 на каждом устройстве 102 может также быть использован для доступа к информации, предоставленной различными веб-сервисами в частных сетях или файлах в файловых системах, выполняемых на каждом устройстве.[0027] In one embodiment, the application module of
[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
[0030] Входной веб-сервер 110 может хранить один или несколько сервисов, например, мобильная торговля, электронный перевод денежных средств, управление поставками, интернет-маркетинг, обработка операций он-лайн (в реальном времени), электронная система обмена данными (EDI), система управления запасами, системы автоматизированного сбора данных для различных пользовательских устройство 102. В одном из вариантов осуществления входной веб-сервер 110 может быть выполнен с возможностью обработки (например, получения и ответа) HTTP-запросов от каждого пользовательского устройства 102 для HTML-страниц, предоставления сервисов безопасности через, например, протокол безопасных соединений, с помощью подтверждения пользовательского имени и пароля, полученных от каждого пользовательского устройства 102, и обработки сертификатов и частных/общественных основных сведений, необходимых для авторизации, обработки кредитной карты и другой защищенной информации. Веб-сервер 110 может также быть выполнен с возможностью облегчать передачу данных от сервера к серверу, и предоставлять индексацию содержимого сайта и возможность поиска ключевых слов по содержимому сайта. Кроме того, веб-сервер 110 может записывать в журнал файлы пользовательских посещений, включая время, длительность и источники, и предоставлять почтовые сервисы, включая отправку, получение и хранение сообщений электронной почты. Относительно предоставляемого содержимого (статичного и динамического), веб-сервер 110 может также быть выполнен с возможностью предоставлять инструменты управления сайтом, включая расчеты и отображение основной статистики сайта (например, уникальные посетители, запросы страницы, источник HTTP-запросов).[0030] The
[0031] Кроме того, сервер 110 веб-страницы может хранить HTML или иной код, требуемый для создания веб-страницы и с заголовком, и с основной информацией как завершенную веб-страницу или шаблон. С помощью инструментов для создания динамической страницы сервер 110 может сохранять содержимое одной или нескольких веб-страниц как объектов в базе данных вместо того, чтобы заранее запрограммировать это содержимое в HTML. Созданные веб-страницы включают в себя HTML-код, который задает внешний вид веб-страницы, и другие коды (например, парные символы-разграничители), которые задают семантику веб-страницы. Во время обработки конкретной веб-страницы или шаблона веб-сервер 110 может определить парные символы-разграничители и интерпретировать каждую строку символов между ними. Эти строки символов могут определить, например, динамический тег. Хотя обычно веб-страницы закодированы на HTML, они могут быть созданы или закодированы с использованием других форматов: XML (расширенный язык разметки), VoiceXML (расширенный язык речевой разметки) или другие языки разметки.[0031] In addition, the
[0032] Веб-сервер 110, сервер 112 API и сервер 120 третьих лиц может быть напрямую соединен или может использовать программные веб-интерфейсы для соединения с одним или несколькими серверами 114 приложений, которые хранят одно или несколько приложений для предоставления конкретных функций, требуемых веб-сайтом. Сервер(ы) 114 приложений может быть соединен с одним или несколькими внутренними серверами 116 баз данных, которые обеспечивают доступ к одной или нескольким базам данных 118. Поэтому сервер(ы) 114 приложений может являться связующей программой сервера, которая позволяет входному клиенту на основе браузера извлекать данные из внутренних баз данных и наследуемых систем, например, больших серверных компьютеров или мейнфреймов. В одном из вариантов осуществления веб-сервер 110 и сервер(ы) 114 приложений могут быть объединены, чтобы совместно предоставлять внутренний программный код, реализующий функциональность приложения, с помощью различных протоколов, включая HTTP, и управлять безопасностью, обработкой операций, группировкой ресурсов и обменом сообщений. Однако, в случае масштабных торговых процедур по сети, когда возникает проблема распределения нагрузки, может использоваться множество серверов приложений и несколько отдельных веб-серверов в соответствии с N-уровневой сетевой архитектурой.[0032] The
[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
[0034] Следует понимать, что, хотя было показано, что система 100 на Фиг. 1 применяет архитектуру клиент-сервер, возможно применение альтернативных архитектур, включая распределенную или одноранговую (peer-to-peer) архитектурную систему.[0034] It should be understood that, although it has been shown that the
[0035] В одном из вариантов осуществления система 100 может быть выполнена с возможностью выполнять автоматическую проверку различных веб-страниц, находящихся на веб-сервере 110 и хранящихся в базе данных 118, для подтверждения корректности этих веб-страниц и определения ошибок в макете и/или содержимом веб-страниц. Может периодически проводиться проверка всех веб-страниц, только новых добавленных веб-страниц, или только недавно обновленных веб-страниц (например, веб-страниц, содержимое которых было обновлено). Проверка веб-страниц может быть проведена с использованием наборов правил и шаблонов проверки, которые автоматически создаются системой на основе анализа ранее проверенных веб-страниц. Например, система 100 выполнена с возможностью автоматически анализировать элементы HTML множества проверенных веб-страниц той же самой категории продукта/товара/услуги и создавать шаблоны проверки, идентифицируя общие для веб-страниц элементы, и правила проверки, определяя взаимоотношения между элементами веб-страницы. Конкретнее, правила и шаблоны могут распространяться на элементы веб-страниц, которые отличаются друг от друга или одни и те же (или в основном сходные), или одинаковые элементы с изменяющимся содержимым, связанным с этими элементами. Эти правила и шаблоны проверки затем используются для проверки других веб-страниц той же самой категории для подтверждения того, что они функционируют правильно.[0035] In one embodiment, the
[0036] На Фиг. 2 изображен пример системы 200 для проверки веб-страниц, которые могут быть реализованы в связи с сетевой архитектурой 100. В одном примере сервер 210 приложений может быть выполнен с возможностью создавать наборы правил и шаблонов проверки для проверки и подтверждения соответствия веб-страниц, хранящихся на сервере 208. В связи с этим сервер 210 приложений может включать в себя селектор 218 веб-страниц, выполненный с возможностью запрашивать/извлекать через интерфейс 214 из базы данных 228 веб-страниц веб-сервера 208 двух или более предварительно проверенных эталонных веб-страниц или веб-сайтов (например, сайт сетевой торговли), хранящийся веб-сервером 208. Веб-сервер 208 может управляться, например, он-лайн оператором розничной торговли/услуги. Кроме того, в зависимости от распределения нагрузки среди различных процедур сервера, веб-сервер 208 и сервер 210 приложений могут быть объединены или реализованы отдельно в разных вариантах осуществления.[0036] In FIG. 2 depicts an
[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
[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
[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
[0041] Внизу приводится как пример часть упрощенного кода HTML-документа 306, который при исполнении веб-браузером 206 создает веб-страницу 302 для отображения на пользовательском устройстве 202. Код HTML-документа 308 может быть, в основном, сходным.[0041] The following is an example of a portion of the simplified code for an
[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
[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
[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
[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
[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,
[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
[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
[0051] В одном из вариантов осуществления генератор 222 правил выполнен с возможностью создавать наборы правил проверки, указывающие на логические, контекстуальные и/или пространственные отношения между элементами шаблонов веб-страниц, а также соответствие элементов. Набор правил может включать в себя одно или более правило. Правила могут быть реализованы с использованием условных выражений (например, утверждения "если/то"), с использованием, например, XML, Java, JavaScript или других языков программирования. В одном варианте осуществления один набор правил проверки может конкретизировать логические или контекстуальные отношения между элементами веб-страницы. Так, например, со ссылкой на Фиг. 3, элемент "описание фотоаппарата 1" веб-страницы 302 должен включать в себя по меньшей мере элементы "цвет", "номер модели", "размер объектива фотоаппарата", "общие размеры" и "цифровой зум". В другом варианте осуществления другой набор правил проверки может определить должен ли конкретный элемент веб-страницы быть представлен на веб-странице (например, поисковая панель). В другом варианте осуществления другой набор правил может определить, что группа элементов веб-страниц связана и должна быть представлена на каждой странице рядом (например, поисковая панель и "о товаре"). В другом варианте осуществления другой набор правил может определять, что два или более элемента веб-страницы не могут быть показаны на одной веб-странице (т.е. они друг друга исключают).[0051] In one embodiment, the
[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
[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
[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
[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
[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
[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,
[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
[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.
[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.
[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
[0062] Системная память 20 может включать в себя постоянную память (ПЗУ) 21 и оперативную память (ОЗУ) 23. Память 20 может быть реализована как динамическое ОЗУ, стираемое программируемое ПЗУ, электрически стираемое программируемое ПЗУ, флэш-память или любая другая архитектура памяти. ПЗУ 21 хранит базовую систему ввода/вывода 22 (BIOS), содержащую основные процедуры, которые помогают передавать информацию между модулями компьютерной системы 5, например, во время запуска. ОЗУ 23 хранит операционную систему 24 (ОС), например, Windows® 7 Professional или другой тип операционной системы, который отвечает за управление и координацию процессов и распределения аппаратных ресурсов в компьютерной системе 5. Память 20 также хранит приложения и программы 25. Память 20 также сохраняет различные данные 26 этапа исполнения, используемые программами 25.[0062]
[0063] Компьютерная система 5 может дополнительно включать в себя жесткий(е) диск(и) 30, например SATA HDD, и оптический(е) привод(ы) 35 для чтения или записи съемного оптического диска, например CD-ROM, DVD-ROM или другого оптического носителя. Диски 30 и 35 и связанные с ними машиночитаемые носители обеспечивают энергонезависимое хранение машиночитаемых инструкций, структур данных, приложений и программных модулей/подпроцедур, которые реализуют описанные здесь алгоритмы и способы. Несмотря на то, что примерная компьютерная система 5 использует магнитные и оптические диски, специалисты в данной области техники оценят, что в альтернативных вариантах осуществления компьютерной системы 5 также могут быть использованы другие типы машиночитаемых носителей, которые способные хранить данные, доступные компьютерной системе 5, например, магнитные кассеты, флэш-карты памяти, цифровые видеодиски, ОЗУ, ПЗУ, стираемое программируемое ПЗУ и другие типы памяти.[0063] The
[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
[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)
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)
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)
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)
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 |
-
2015
- 2015-05-06 RU RU2015116942A patent/RU2632149C2/en active
- 2015-10-13 WO PCT/IB2015/057825 patent/WO2016178068A1/en active Application Filing
Patent Citations (6)
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 |