US20050273706A1 - Systems and methods for identifying and extracting data from HTML pages - Google Patents

Systems and methods for identifying and extracting data from HTML pages Download PDF

Info

Publication number
US20050273706A1
US20050273706A1 US11/122,992 US12299205A US2005273706A1 US 20050273706 A1 US20050273706 A1 US 20050273706A1 US 12299205 A US12299205 A US 12299205A US 2005273706 A1 US2005273706 A1 US 2005273706A1
Authority
US
United States
Prior art keywords
page
information
string
html
algorithm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/122,992
Inventor
Udi Manber
Qi Lu
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yahoo Inc
Original Assignee
Yahoo Inc until 2017
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Inc until 2017 filed Critical Yahoo Inc until 2017
Priority to US11/122,992 priority Critical patent/US20050273706A1/en
Publication of US20050273706A1 publication Critical patent/US20050273706A1/en
Assigned to YAHOO HOLDINGS, INC. reassignment YAHOO HOLDINGS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO! INC.
Assigned to OATH INC. reassignment OATH INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: YAHOO HOLDINGS, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access

Definitions

  • the present invention relates generally to analyzing and extracting information from web pages, and more particularly to automatically identifying and extracting desired information in web pages.
  • a different document D′, published by a different company about the same product P, may have similar parts, but they will most likely be arranged and formatted in a completely different way. People reading D and D′ can easily parse the information and understand its different pieces, but it is difficult for a computer program to so do without knowing in advance which pieces are included and how they are arranged.
  • the same company that published the web page for product P may also publish pages on numerous other products. These pages may be similarly formatted, but since they describe different products they contain entirely different information.
  • a typical HTML document includes formatting commands or tags, and content which can be text, images, programs, and so on. HTML tags are enclosed in brackets ⁇ >.
  • HTML tags are enclosed in brackets ⁇ >.
  • This HTML code puts the line as a row in a table, adds an image, italicizes “available”, and highlights “ON SALE” in red.
  • a typical commerce page may have hundreds of formatting tags.
  • a different product Q may appear as:
  • a typical rule-based extraction mechanism using the first document for product P, may infer that the price appears after the ON SALE text, or after the red formatted text.
  • this same extraction mechanism when analyzing the second document for product Q, will miss the price of product Q, because neither the ON SALE text nor the red formatting is present.
  • the page may be much more complex and variable.
  • the present invention provides systems and methods for analyzing web pages formatted using HTML or other markup language to automatically identify and extract desired information.
  • aspects of the invention are embodied in a computer algorithm that identifies and extracts different pieces of information from different web pages automatically after minimal manual setup.
  • the algorithm automatically analyzes pages with different content if they have the same, or similar, formats.
  • the algorithm is robust, in the sense that it operates successfully and correctly in the presence of small changes to the formatting of documents.
  • the algorithm is fast and efficient and performs the extraction process quickly in real-time.
  • Many database and data mining applications require structured data—they have to know the meanings of numbers and text, and not just their values, so they can infer relationships among them. Using the techniques of the present invention, it becomes possible to build databases from unstructured web information.
  • the algorithm can be implemented in an agent that captures information about products, and compares prices or other characteristics.
  • the algorithm can also be used to populate structured databases that, given the different pieces of information, can analyze products and their characteristics. Additionally, the algorithm can be used for data mining applications, e.g., looking for patterns useful for marketing analyses, for testing and quality assurance (QA) purposes, or other uses.
  • QA quality assurance
  • a method for identifying and extracting content from HTML formatted web pages.
  • the method typically comprises the steps of selecting a model page, wherein the model page includes a plurality of HTML tags, identifying an area of interest in the model page, and parsing the model page to determine a first string of symbols associated with the plurality of HTML tags, wherein the first area of interest is identified by a first portion of the first string of symbols.
  • the method also typically includes the steps of retrieving a second web page, parsing the second web page to determine a second string of symbols associated with the HTML tags of the second web page, comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and thereafter extracting the second area of interest from the second page.
  • the steps of selecting the model page and identifying a first area of interest are performed manually, and the remaining steps are performed automatically.
  • a computer readable medium containing instructions for controlling a computer system to automatically identify and extract desired content from a retrieved HTML formatted web page.
  • the medium includes instructions to control the computer system to automatically parse the HTML code of a manually selected model web page to determine a first string of symbols associated with a first plurality of HTML tags.
  • the medium also typically includes instructions to control the computer system to automatically retrieve a second web page, parse the HTML code of the second web page to determine a second string of symbols associated with HTML tags of the second page, compare the first and second strings to determine whether the second page includes a second plurality of HTML tags substantially matching the first plurality of HTML tags, and extract a portion of the second page corresponding to the second plurality of HTML tags.
  • a computer system for identifying and extracting content from HTML formatted web pages.
  • the system typically comprises a means for retrieving web pages including HTML tags, wherein a model web page is retrieved, and a means for manually identifying a first area of interest in the model page, wherein the first area of interest corresponds to a first plurality of HTML tags.
  • the system also typically comprises a processor including a means for parsing a page, wherein the parsing means parses the model page to determine a first string of symbols associated with the first plurality of HTML tags, and wherein the parsing means thereafter parses an automatically retrieved second web page to determine a second string of symbols associated with the HTML tags of the second web page.
  • the processor also typically includes a means for comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and a means for extracting the second area of interest from the second page.
  • a computer implemented method of identifying and extracting content from web pages formatted using a markup language typically includes the steps of selecting a model page, wherein the model page includes a plurality of tokens, identifying a first area of interest in the model page, and parsing the model page to determine a first string of symbols associated with the plurality of tokens, wherein the first area of interest is identified by a first portion of the first string of symbols.
  • the method also typically includes the steps of retrieving a second web page, parsing the second web page to determine a second string of symbols associated with the tokens of the second web page, comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and thereafter extracting the second area of interest from the second page.
  • the present invention is applicable to any markup language, including any instance of SGML, such as XML, WML, HTML, DHTML and HDML.
  • FIG. 1 illustrates a general overview of an information retrieval and communication system according to an embodiment of the present invention
  • FIG. 2 is a flow chart showing the process of identifying and extracting information from web pages according to an embodiment of the present invention.
  • FIG. 1 illustrates a general overview of an information retrieval and communication network 10 including a client device 20 according to an embodiment of the present invention.
  • client device 20 is coupled through the Internet 40 , or other communication network, to servers 50 1 to 50 N .
  • Client device 20 is also interconnected to server 30 either directly, over any LAN or WAN connection, or over the Internet 40 .
  • client device 20 is configured according to the present invention to access and retrieve web pages from any of servers 50 1 to 50 N , identify and extract desired information therefrom, and provide the information to server 30 to populate database 35 .
  • server 30 can also be configured to access and process web pages according to the present invention described herein.
  • client device 20 could be a desktop personal computer, workstation, laptop, PDA, cell phone, or any WAP-enabled device or any other computing device capable of interfacing directly or indirectly to the Internet.
  • client device 20 typically runs a browsing program, such as Microsoft's Internet Explorer, Netscape Navigator or the like, allowing a user of client 20 to access and browse pages available to it from servers 50 1 to 50 N over Internet 40 .
  • Client 20 also typically includes one or more user interface devices 22 , such as a keyboard, a mouse, touchscreen, pen or the like, for interacting with a graphical user interface (GUI) provided by the browser in conjunction with pages and forms retrieved from servers 50 1 to 50 N or other servers.
  • GUI graphical user interface
  • the present invention is suitable for use with the Internet, which refers to a specific global Internetwork of networks. However, it should be understood that other networks can be used instead of the Internet, such as an intranet, an extranet, a virtual private network (VPN), a non-TCP/IP based network, or the like.
  • VPN virtual private network
  • client device 20 or server 30 and all of its components are operator configurable using an application including computer code run using a central processing unit such as an Intel Pentium processor or the like.
  • Computer code for operating and configuring client device 20 or server 30 as described herein is preferably stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as a compact disk medium, DVD, a floppy disk, or the like.
  • the entire program code, or portions thereof, may be downloaded from a software source to client device 20 or server 30 over the Internet as is well known, or transmitted over any other conventional network connection as is well known, e.g., extranet, VPN, LAN, etc., using any communication medium and protocol as are well known.
  • Appendix A includes an example of code for implementing the techniques of the present invention.
  • computer code for implementing the present invention can be implemented in JavaScript, or any scripting language such as VBScript, that can be executed on a client device or server system.
  • server 30 or any other server, can be configured using the code as above, the following will discuss the present invention implemented in the context of client device 20 .
  • a user is able to access and query servers 50 1 to 50 N and other servers through client device 20 to view and download content such as news stories, advertising content, search query results including links to various websites and so on.
  • content can also include other media objects such as video and audio clips, URL links, graphic and text objects such as icons and hyperlinks, and the like.
  • the techniques of the present invention are particularly useful for identifying and extracting information related to products from remote vendor servers. Such information can be used, for example, to populate database 35 with comparative information for access by subscribers or the general public, e.g., over the Internet. For example, the extracted information can be used to populate database 35 with comparative pricing information for a particular product or service or related products or services.
  • FIG. 2 is a flow chart showing the process of identifying and extracting information from web pages according to an embodiment of the present invention.
  • the web pages are formatted using HTML, although the present invention is equally applicable to processing web pages formatted using any markup language including any instance of the Standard Generalized Markup Language (SGML), such as XML, WML, HDML (for hand-held devices), DHTML and others.
  • SGML Standard Generalized Markup Language
  • an operator using client device 20 first selects a target page that is deemed a model page for a particular product type, company format, or any other type of document. For example, the operator accesses a particular product page for product P from one of servers 50 1 to 50 N , which corresponds to a particular remote vendor's website.
  • the HTML code for the selected page is parsed to determine a model pattern for the page.
  • a model pattern based on the selected page is built by first dividing the web page into HTML tokens.
  • HTML tokens include tag elements and text elements.
  • the text is preferably initially ignored, and the tags that are primarily used for formatting purposes, e.g., ⁇ form>, rather than being a major part of the design of pages, are also preferably ignored (which tokens to ignore is an option set by the operator in one embodiment).
  • the remainder is typically a sequence of start tags and closing tags.
  • Each of the tokens is preferably translated into a unique number, represented for illustration purposes as a character.
  • the format for product P above can be represented as a sequence TRGIF/F/R/T, where T represents ⁇ table>, /T represents ⁇ /table>(end table), R represents ⁇ tr>, and so on.
  • the HTML code for product Q would be represented as a sequence TRGI/R/T.
  • the present invention is configured to parse the HTML document using the tags and the attributes as will be discussed below in more detail:
  • GUI graphical user interface
  • the operator is able to select or highlight portions of the page that are of interest, e.g., the price of product P and/or the red-formatted ON SALE text.
  • the operator preferably selects portions of the page (e.g., portions of the displayed web page or portions of the corresponding HTML code) using interface device 22 , such as a mouse or keyboard or other manual pointing and selecting device.
  • interface device 22 such as a mouse or keyboard or other manual pointing and selecting device.
  • the operator can select to ignore parts of the pattern sequence. For example, the beginning of the document may include text not directly related to the desired information (e.g., ads).
  • steps 110 and 120 are interchangeable in that the operator can first select the desired area in the selected page and thereafter the application will parse the HTML code corresponding to the selected area of the page.
  • the model pattern is stored in a memory for comparison with patterns representing portions of other pages.
  • another page (e.g., related document) is retrieved from the same vendor site or from a different site.
  • Client 20 is preferably configured to automatically retrieve a subsequent page for analysis from a website using the site's URL.
  • client 20 may be configured to retrieve a subsequent page from the same site from which the target page was retrieved, or from a list of one or more universal resource locators (URLs), either randomly or in a specific order.
  • This subsequent page is then parsed to produce a pattern sequence for comparison with the stored pattern of the target page to identify related information.
  • the HTML code of this subsequent document is parsed as in step 110 .
  • the stored model pattern sequence is compared against the pattern sequence obtained from the subsequent document to identify matching or similar pattern segment(s).
  • the two pattern sequences may not match exactly.
  • the approximate string matching algorithm is extended to include comparisons of the attribute values.
  • comparisons of the attribute values for the table width tags are compared to determine whether a match exists.
  • An example of an approximate string matching algorithm for use with the present invention is included in Appendix A.
  • the results of the comparison are used to extract the desired information from the subsequent page to be stored (e.g., in database 35 ) and/or displayed. Any number of subsequent pages may be retrieved and analyzed with respect to the stored pattern of the target page by repeating steps 140 to 170 .
  • web pages are analyzed in a streaming fashion. There is no need to wait until the whole page is fetched for analysis. Whenever a part of the page is received it is analyzed immediately; that part of the page is parsed and compared with the stored pattern in real-time. If a matching pattern is found, the rest of the page can be discarded. Because the delays associated with retrieving pages are usually more time consuming than the delays associated with executing the application program, a streaming approach speeds the process considerably.
  • Some web pages may have several alternative formats which are quite different and cannot be inferred from one to another. For example, results of a search for a particular author may return a list of authors matching the name, or a list of books by the uniquely named author.
  • results of a search for a particular author may return a list of authors matching the name, or a list of books by the uniquely named author.
  • several patterns are analyzed in parallel. In this embodiment, all the model patterns that correspond to formats associated with a single site are compared, approximately, to the incoming page from that site. The first model pattern that leads to a good match is used, and the rest of the patterns may be ignored from then on.
  • a pattern used in this case can include several sub-patterns, each with a different use.
  • One sub-pattern may identify the beginning of the list of items.
  • Another may identify a pattern to ignore in the middle of the page.
  • Yet another may identify a repeated item, for example, a list of books from the same authors, each with a description and a price. Accordingly it is understood that the general approximate matching techniques as described herein enable the matching of different patterns for different purposes, all within the same framework.
  • standard regular expression matching techniques are also applied to the extracted information in one embodiment. For example, when looking for a price, the result should contain a dollar sign (or other currency signs) and should be of a form that corresponds to a price. Such techniques are preferably used to help resolve cases where more then one piece matches the desired extracted information.

Abstract

Systems and methods for analyzing HTML formatted web pages to automatically identify and extract desired information. A computer algorithm identifies and extracts different pieces of information from different web pages automatically after minimal manual setup. The algorithm automatically analyzes pages with different content if they have the same, or similar, formats. The algorithm is fast and efficient and performs the extraction process quickly in real-time. The systems and methods are useful to build databases from unstructured web information. The algorithm can be used as an agent that captures information about products, and compares prices or other characteristics. It can also be used to populate structured databases that, given the different pieces of information, can analyze products and their characteristics. And it can also be used for data mining applications looking for patterns useful for marketing analyses, or other uses.

Description

    COPYRIGHT NOTICE
  • A portion of the disclosure of this patent document contains material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
  • BACKGROUND OF THE INVENTION
  • The present invention relates generally to analyzing and extracting information from web pages, and more particularly to automatically identifying and extracting desired information in web pages.
  • The World Wide Web (WWW) is now the premier outlet to publish information of all types and forms. Documents published on the web, commonly called web pages, are published using a language called HTML (or Hyper Text Markup Language), which sets standards for the formatting of documents. These standards make it possible for people to read and understand documents no matter which program they use for that purpose. For the most part, documents are designed and written to be read by real persons. But there is a growing need to have automatic programs extract certain parts of documents with minimal human intervention. For example, suppose that a document D contains information about product P. D may contain a picture of P, its description, its price, its availability and several characteristics of P. A different document D′, published by a different company about the same product P, may have similar parts, but they will most likely be arranged and formatted in a completely different way. People reading D and D′ can easily parse the information and understand its different pieces, but it is difficult for a computer program to so do without knowing in advance which pieces are included and how they are arranged. The same company that published the web page for product P may also publish pages on numerous other products. These pages may be similarly formatted, but since they describe different products they contain entirely different information.
  • As an example, a typical HTML document includes formatting commands or tags, and content which can be text, images, programs, and so on. HTML tags are enclosed in brackets < >. For example, the text
  • “Product P available in California ON SALE for $19.99” can be formatted as:
      • <table>
      • <tr>
      • Product P
      • <img src=p.gif>
      • <i>available</i>
      • in California
      • <font color=red>
      • ON SALE
      • </font>
      • for $19.99
      • </tr>
      • </table>
  • This HTML code puts the line as a row in a table, adds an image, italicizes “available”, and highlights “ON SALE” in red. A typical commerce page may have hundreds of formatting tags.
  • A different product Q may appear as:
  • “Product Q in Oregon and Washington for $15.99” and be formatted as:
      • <table>
      • <tr>
      • Product Q
      • <img src=q.gif>
      • <i>available</i>
      • in Oregon and Washington for $15.99
      • </tr>
      • </table>
  • If one is interested in extracting only the price of the product, a typical rule-based extraction mechanism, using the first document for product P, may infer that the price appears after the ON SALE text, or after the red formatted text. However, this same extraction mechanism, when analyzing the second document for product Q, will miss the price of product Q, because neither the ON SALE text nor the red formatting is present. In general, the page may be much more complex and variable.
  • Accordingly, it is desirable to provide methods and systems for analyzing the structure of web pages and for automatically extracting pertinent information from the web pages.
  • SUMMARY OF THE INVENTION
  • The present invention provides systems and methods for analyzing web pages formatted using HTML or other markup language to automatically identify and extract desired information. In one embodiment, aspects of the invention are embodied in a computer algorithm that identifies and extracts different pieces of information from different web pages automatically after minimal manual setup. The algorithm automatically analyzes pages with different content if they have the same, or similar, formats. The algorithm is robust, in the sense that it operates successfully and correctly in the presence of small changes to the formatting of documents. The algorithm is fast and efficient and performs the extraction process quickly in real-time. Many database and data mining applications require structured data—they have to know the meanings of numbers and text, and not just their values, so they can infer relationships among them. Using the techniques of the present invention, it becomes possible to build databases from unstructured web information. The algorithm can be implemented in an agent that captures information about products, and compares prices or other characteristics. The algorithm can also be used to populate structured databases that, given the different pieces of information, can analyze products and their characteristics. Additionally, the algorithm can be used for data mining applications, e.g., looking for patterns useful for marketing analyses, for testing and quality assurance (QA) purposes, or other uses.
  • According to an aspect of the invention, a method is provided for identifying and extracting content from HTML formatted web pages. The method typically comprises the steps of selecting a model page, wherein the model page includes a plurality of HTML tags, identifying an area of interest in the model page, and parsing the model page to determine a first string of symbols associated with the plurality of HTML tags, wherein the first area of interest is identified by a first portion of the first string of symbols. The method also typically includes the steps of retrieving a second web page, parsing the second web page to determine a second string of symbols associated with the HTML tags of the second web page, comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and thereafter extracting the second area of interest from the second page. In preferred aspects the steps of selecting the model page and identifying a first area of interest are performed manually, and the remaining steps are performed automatically.
  • According to another aspect of the present invention, a computer readable medium is provided containing instructions for controlling a computer system to automatically identify and extract desired content from a retrieved HTML formatted web page. The medium includes instructions to control the computer system to automatically parse the HTML code of a manually selected model web page to determine a first string of symbols associated with a first plurality of HTML tags. The medium also typically includes instructions to control the computer system to automatically retrieve a second web page, parse the HTML code of the second web page to determine a second string of symbols associated with HTML tags of the second page, compare the first and second strings to determine whether the second page includes a second plurality of HTML tags substantially matching the first plurality of HTML tags, and extract a portion of the second page corresponding to the second plurality of HTML tags.
  • According to yet another aspect of the present invention, a computer system is provided for identifying and extracting content from HTML formatted web pages. The system typically comprises a means for retrieving web pages including HTML tags, wherein a model web page is retrieved, and a means for manually identifying a first area of interest in the model page, wherein the first area of interest corresponds to a first plurality of HTML tags. The system also typically comprises a processor including a means for parsing a page, wherein the parsing means parses the model page to determine a first string of symbols associated with the first plurality of HTML tags, and wherein the parsing means thereafter parses an automatically retrieved second web page to determine a second string of symbols associated with the HTML tags of the second web page. The processor also typically includes a means for comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and a means for extracting the second area of interest from the second page.
  • According to a further aspect of the invention, a computer implemented method of identifying and extracting content from web pages formatted using a markup language is provided. The method typically includes the steps of selecting a model page, wherein the model page includes a plurality of tokens, identifying a first area of interest in the model page, and parsing the model page to determine a first string of symbols associated with the plurality of tokens, wherein the first area of interest is identified by a first portion of the first string of symbols. The method also typically includes the steps of retrieving a second web page, parsing the second web page to determine a second string of symbols associated with the tokens of the second web page, comparing the first and second strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page, and thereafter extracting the second area of interest from the second page. The present invention is applicable to any markup language, including any instance of SGML, such as XML, WML, HTML, DHTML and HDML.
  • Reference to the remaining portions of the specification, including the drawings and claims, will realize other features and advantages of the present invention. Further features and advantages of the present invention, as well as the structure and operation of various embodiments of the present invention, are described in detail below with respect to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates a general overview of an information retrieval and communication system according to an embodiment of the present invention; and
  • FIG. 2 is a flow chart showing the process of identifying and extracting information from web pages according to an embodiment of the present invention.
  • DESCRIPTION OF THE SPECIFIC EMBODIMENTS
  • FIG. 1 illustrates a general overview of an information retrieval and communication network 10 including a client device 20 according to an embodiment of the present invention. In computer network 10, client device 20 is coupled through the Internet 40, or other communication network, to servers 50 1 to 50 N. Client device 20 is also interconnected to server 30 either directly, over any LAN or WAN connection, or over the Internet 40. As will be described herein, client device 20 is configured according to the present invention to access and retrieve web pages from any of servers 50 1 to 50 N, identify and extract desired information therefrom, and provide the information to server 30 to populate database 35. Although as described herein, access and processing of web pages is performed using client device 20, it will be understood that server 30 can also be configured to access and process web pages according to the present invention described herein.
  • Several elements in the system shown in FIG. 1 are conventional, well-known elements that need not be explained in detail here. For example, client device 20 (and server 30) could be a desktop personal computer, workstation, laptop, PDA, cell phone, or any WAP-enabled device or any other computing device capable of interfacing directly or indirectly to the Internet. Client device 20 typically runs a browsing program, such as Microsoft's Internet Explorer, Netscape Navigator or the like, allowing a user of client 20 to access and browse pages available to it from servers 50 1 to 50 N over Internet 40. Client 20 (and server 30) also typically includes one or more user interface devices 22, such as a keyboard, a mouse, touchscreen, pen or the like, for interacting with a graphical user interface (GUI) provided by the browser in conjunction with pages and forms retrieved from servers 50 1 to 50 N or other servers. The present invention is suitable for use with the Internet, which refers to a specific global Internetwork of networks. However, it should be understood that other networks can be used instead of the Internet, such as an intranet, an extranet, a virtual private network (VPN), a non-TCP/IP based network, or the like.
  • According to one embodiment, client device 20 or server 30, and all of its components are operator configurable using an application including computer code run using a central processing unit such as an Intel Pentium processor or the like. Computer code for operating and configuring client device 20 or server 30 as described herein is preferably stored on a hard disk, but the entire program code, or portions thereof, may also be stored in any other volatile or non-volatile memory medium or device as is well known, such as a ROM or RAM, or provided on any media capable of storing program code, such as a compact disk medium, DVD, a floppy disk, or the like. Additionally, the entire program code, or portions thereof, may be downloaded from a software source to client device 20 or server 30 over the Internet as is well known, or transmitted over any other conventional network connection as is well known, e.g., extranet, VPN, LAN, etc., using any communication medium and protocol as are well known. Appendix A includes an example of code for implementing the techniques of the present invention. It will also be appreciated that computer code for implementing the present invention can be implemented in JavaScript, or any scripting language such as VBScript, that can be executed on a client device or server system. Although it is understood that server 30, or any other server, can be configured using the code as above, the following will discuss the present invention implemented in the context of client device 20.
  • In general, a user is able to access and query servers 50 1 to 50 N and other servers through client device 20 to view and download content such as news stories, advertising content, search query results including links to various websites and so on. Such content can also include other media objects such as video and audio clips, URL links, graphic and text objects such as icons and hyperlinks, and the like. As described herein, the techniques of the present invention are particularly useful for identifying and extracting information related to products from remote vendor servers. Such information can be used, for example, to populate database 35 with comparative information for access by subscribers or the general public, e.g., over the Internet. For example, the extracted information can be used to populate database 35 with comparative pricing information for a particular product or service or related products or services. One example of such an accessible server/database for which the invention is useful is the Yahoo! Shopping website located at http://shopping.yahoo.com. It will of course be apparent that the present invention is useful for identifying and extracting any desired information in web pages retrieved from any website for use in any data mining application or other application.
  • FIG. 2 is a flow chart showing the process of identifying and extracting information from web pages according to an embodiment of the present invention. In the following description, it is assumed that the web pages are formatted using HTML, although the present invention is equally applicable to processing web pages formatted using any markup language including any instance of the Standard Generalized Markup Language (SGML), such as XML, WML, HDML (for hand-held devices), DHTML and others.
  • According to one embodiment, at step 100 an operator using client device 20 (or server 30) first selects a target page that is deemed a model page for a particular product type, company format, or any other type of document. For example, the operator accesses a particular product page for product P from one of servers 50 1 to 50 N, which corresponds to a particular remote vendor's website. At step 110, the HTML code for the selected page is parsed to determine a model pattern for the page. In one embodiment, a model pattern based on the selected page is built by first dividing the web page into HTML tokens. In general, HTML tokens include tag elements and text elements. In one embodiment, the text is preferably initially ignored, and the tags that are primarily used for formatting purposes, e.g., <form>, rather than being a major part of the design of pages, are also preferably ignored (which tokens to ignore is an option set by the operator in one embodiment). The remainder is typically a sequence of start tags and closing tags. Each of the tokens is preferably translated into a unique number, represented for illustration purposes as a character. For example, the format for product P above can be represented as a sequence TRGIF/F/R/T, where T represents <table>, /T represents </table>(end table), R represents <tr>, and so on. In this representation scheme, the HTML code for product Q would be represented as a sequence TRGI/R/T.
  • In general HTML includes the name of the tag, e.g., <table>, and also several possible attributes, e.g., <font color=red>. In preferred aspects, the present invention is configured to parse the HTML document using the tags and the attributes as will be discussed below in more detail:
  • At step 120, the operator identifies an area of interest in the selected page. In one embodiment, a graphical user interface (GUI) is provided to the operator as part of a manual selection and extraction tool. The operator is able to select or highlight portions of the page that are of interest, e.g., the price of product P and/or the red-formatted ON SALE text. The operator preferably selects portions of the page (e.g., portions of the displayed web page or portions of the corresponding HTML code) using interface device 22, such as a mouse or keyboard or other manual pointing and selecting device. The operator can select to ignore parts of the pattern sequence. For example, the beginning of the document may include text not directly related to the desired information (e.g., ads). The operator can choose to ignore this information, for example, by not selecting this portion with the selection tool. That which is selected (i.e., not ignored) is stored as the model pattern sequence at step 130. It will be apparent that steps 110 and 120 are interchangeable in that the operator can first select the desired area in the selected page and thereafter the application will parse the HTML code corresponding to the selected area of the page. At step 130, the model pattern is stored in a memory for comparison with patterns representing portions of other pages.
  • At step 140, another page (e.g., related document) is retrieved from the same vendor site or from a different site. Client 20 is preferably configured to automatically retrieve a subsequent page for analysis from a website using the site's URL. For example, client 20 may be configured to retrieve a subsequent page from the same site from which the target page was retrieved, or from a list of one or more universal resource locators (URLs), either randomly or in a specific order. This subsequent page is then parsed to produce a pattern sequence for comparison with the stored pattern of the target page to identify related information. In particular, at step 150, the HTML code of this subsequent document is parsed as in step 110. At step 160, the stored model pattern sequence is compared against the pattern sequence obtained from the subsequent document to identify matching or similar pattern segment(s). The two pattern sequences may not match exactly. According to one embodiment, an approximate string matching technique is used to solve this problem. Because the HTML code from both pages have been translated into sequences of characters (e.g., numbers) in steps 110 and 150, it is possible to employ an approximate pattern matching technique to match with high confidence the parts of the patterns that correspond to the same type of information. Because HTML tokens can include attributes, it may not be sufficient to simply treat tokens as a character in the analysis. For example, the tags <table width =50> and <table width=100> represent two entirely different tables and should not be treated as the same. Therefore, according to one embodiment of the present invention, the approximate string matching algorithm is extended to include comparisons of the attribute values. In the above example, comparisons of the attribute values for the table width tags are compared to determine whether a match exists. An example of an approximate string matching algorithm for use with the present invention is included in Appendix A. At step 170, the results of the comparison are used to extract the desired information from the subsequent page to be stored (e.g., in database 35) and/or displayed. Any number of subsequent pages may be retrieved and analyzed with respect to the stored pattern of the target page by repeating steps 140 to 170.
  • According to another embodiment of the present invention, web pages are analyzed in a streaming fashion. There is no need to wait until the whole page is fetched for analysis. Whenever a part of the page is received it is analyzed immediately; that part of the page is parsed and compared with the stored pattern in real-time. If a matching pattern is found, the rest of the page can be discarded. Because the delays associated with retrieving pages are usually more time consuming than the delays associated with executing the application program, a streaming approach speeds the process considerably.
  • Some web pages may have several alternative formats which are quite different and cannot be inferred from one to another. For example, results of a search for a particular author may return a list of authors matching the name, or a list of books by the uniquely named author. According to one embodiment of the present invention, several patterns are analyzed in parallel. In this embodiment, all the model patterns that correspond to formats associated with a single site are compared, approximately, to the incoming page from that site. The first model pattern that leads to a good match is used, and the rest of the patterns may be ignored from then on.
  • Often a single page contains information about several products. A pattern used in this case can include several sub-patterns, each with a different use. One sub-pattern may identify the beginning of the list of items. Another may identify a pattern to ignore in the middle of the page. Yet another may identify a repeated item, for example, a list of books from the same authors, each with a description and a price. Accordingly it is understood that the general approximate matching techniques as described herein enable the matching of different patterns for different purposes, all within the same framework.
  • To add to the reliability of the result, standard regular expression matching techniques are also applied to the extracted information in one embodiment. For example, when looking for a price, the result should contain a dollar sign (or other currency signs) and should be of a form that corresponds to a price. Such techniques are preferably used to help resolve cases where more then one piece matches the desired extracted information.
  • While the invention has been described by way of example and in terms of the specific embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements as would be apparent to those skilled in the art. Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.

Claims (2)

1. A computer implemented method of identifying desired content in HTML formatted web pages, comprising the steps of:
selecting a model page, wherein the model page includes content data and a plurality of HTML tags for formatting the content data;
identifying a first area of interest in the model page;
parsing the model page to generate a first string of symbols for the plurality of HTML tags, the generated symbols in the first string representing only HTML tags, wherein the first area of interest is identified by a first portion of the first string of symbols;
retrieving a second web page associated with a different URL than the model page;
parsing the second web page to generate a second string of symbols for a plurality of HTML tags of the second web page, the generated symbols in the second string representing only HTML tags; and
comparing the first and second symbol strings to determine whether the second string includes a second portion similar to the first portion of the first string, wherein the second portion corresponds to a second area of interest in the second page.
2-28. (canceled)
US11/122,992 2000-08-24 2005-05-04 Systems and methods for identifying and extracting data from HTML pages Abandoned US20050273706A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/122,992 US20050273706A1 (en) 2000-08-24 2005-05-04 Systems and methods for identifying and extracting data from HTML pages

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/645,479 US6920609B1 (en) 2000-08-24 2000-08-24 Systems and methods for identifying and extracting data from HTML pages
US11/122,992 US20050273706A1 (en) 2000-08-24 2005-05-04 Systems and methods for identifying and extracting data from HTML pages

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/645,479 Continuation US6920609B1 (en) 2000-08-24 2000-08-24 Systems and methods for identifying and extracting data from HTML pages

Publications (1)

Publication Number Publication Date
US20050273706A1 true US20050273706A1 (en) 2005-12-08

Family

ID=34738925

Family Applications (2)

Application Number Title Priority Date Filing Date
US09/645,479 Expired - Lifetime US6920609B1 (en) 2000-08-24 2000-08-24 Systems and methods for identifying and extracting data from HTML pages
US11/122,992 Abandoned US20050273706A1 (en) 2000-08-24 2005-05-04 Systems and methods for identifying and extracting data from HTML pages

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US09/645,479 Expired - Lifetime US6920609B1 (en) 2000-08-24 2000-08-24 Systems and methods for identifying and extracting data from HTML pages

Country Status (1)

Country Link
US (2) US6920609B1 (en)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030061122A1 (en) * 2001-08-08 2003-03-27 Berkowitz Gary Charles Knowledge-based e-catalog procurement system and method
US20040004641A1 (en) * 2002-07-02 2004-01-08 Ullas Gargi Image segmentation and warping for specialized display viewing
US20040205751A1 (en) * 2003-04-09 2004-10-14 Berkowitz Gary Charles Virtual supercomputer
US7139969B1 (en) * 2003-06-13 2006-11-21 Microsoft Corporation Method and system for evaluating and connecting web parts
US20070293950A1 (en) * 2006-06-14 2007-12-20 Microsoft Corporation Web Content Extraction
US20080059486A1 (en) * 2006-08-24 2008-03-06 Derek Edwin Pappas Intelligent data search engine
US20080065737A1 (en) * 2006-08-03 2008-03-13 Yahoo! Inc. Electronic document information extraction
US20080221915A1 (en) * 2007-03-05 2008-09-11 Gary Charles Berkowitz Softwate method and system to enable compliance with audit requirements for electronic procurement pricing
US20090094227A1 (en) * 2006-12-22 2009-04-09 Gary Charles Berkowitz Adaptive e-procurement find assistant using algorithmic intelligence and organic knowledge capture
US20090113301A1 (en) * 2007-10-26 2009-04-30 Yahoo! Inc. Multimedia Enhanced Browser Interface
US20090112842A1 (en) * 2007-10-29 2009-04-30 Microsoft Corporation Methods and apparatus for web-based research
US20090228497A1 (en) * 2008-03-04 2009-09-10 Anand Bacaji Ramakrishnan Patent Reference Processor
US7720883B2 (en) 2007-06-27 2010-05-18 Microsoft Corporation Key profile computation and data pattern profile computation
US20100191616A1 (en) * 2007-07-19 2010-07-29 Gary Charles Berkowitz Software method and system to enable automatic, real-time extraction of item price and availability from a supplier catalog during a buyer's electronic procurement shopping process
CN101866362A (en) * 2010-07-01 2010-10-20 优视科技有限公司 Method and system for automatically positioning main contents of webpages for mobile communication equipment terminal
US20120072409A1 (en) * 2005-09-28 2012-03-22 Bradley John Perry Method and system for identifying targeted data on a web page
WO2013134350A1 (en) * 2012-03-09 2013-09-12 Digilant, Inc. Look-alike website scoring
US8868621B2 (en) 2010-10-21 2014-10-21 Rillip, Inc. Data extraction from HTML documents into tables for user comparison
US9075893B1 (en) * 2011-02-25 2015-07-07 Amazon Technologies, Inc. Providing files with cacheable portions
CN106326236A (en) * 2015-06-18 2017-01-11 天脉聚源(北京)科技有限公司 Webpage content identification method and system
US9678932B2 (en) 2012-03-08 2017-06-13 Samsung Electronics Co., Ltd. Method and apparatus for extracting body on web page
CN107103012A (en) * 2016-01-28 2017-08-29 阿里巴巴集团控股有限公司 Recognize method, device and the server of violated webpage
US9952860B2 (en) 2013-03-13 2018-04-24 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US20180260389A1 (en) * 2017-03-08 2018-09-13 Fujitsu Limited Electronic document segmentation and relation discovery between elements for natural language processing
US10282479B1 (en) 2014-05-08 2019-05-07 Google Llc Resource view data collection
CN110399529A (en) * 2019-07-23 2019-11-01 福建奇点时空数字科技有限公司 A kind of data entity abstracting method based on depth learning technology

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7672879B1 (en) 1998-12-08 2010-03-02 Yodlee.Com, Inc. Interactive activity interface for managing personal data and performing transactions over a data packet network
US7085997B1 (en) 1998-12-08 2006-08-01 Yodlee.Com Network-based bookmark management and web-summary system
US8069407B1 (en) 1998-12-08 2011-11-29 Yodlee.Com, Inc. Method and apparatus for detecting changes in websites and reporting results to web developers for navigation template repair purposes
US6477565B1 (en) * 1999-06-01 2002-11-05 Yodlee.Com, Inc. Method and apparatus for restructuring of personalized data for transmission from a data network to connected and portable network appliances
US7752535B2 (en) 1999-06-01 2010-07-06 Yodlec.com, Inc. Categorization of summarized information
US6356933B2 (en) * 1999-09-07 2002-03-12 Citrix Systems, Inc. Methods and apparatus for efficiently transmitting interactive application data between a client and a server using markup language
US7194743B2 (en) * 2000-12-12 2007-03-20 Citrix Systems, Inc. Methods and apparatus for communicating changes between a user interface and an executing application using property paths
US7085736B2 (en) * 2001-02-27 2006-08-01 Alexa Internet Rules-based identification of items represented on web pages
US20030145278A1 (en) * 2002-01-22 2003-07-31 Nielsen Andrew S. Method and system for comparing structured documents
JP2004086845A (en) * 2002-06-27 2004-03-18 Oki Electric Ind Co Ltd Apparatus, method, and program for expanding electronic document information, and recording medium storing the program
US7505984B1 (en) 2002-12-09 2009-03-17 Google Inc. Systems and methods for information extraction
US7072890B2 (en) * 2003-02-21 2006-07-04 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for improved web scraping
US7203679B2 (en) * 2003-07-29 2007-04-10 International Business Machines Corporation Determining structural similarity in semi-structured documents
US8006197B1 (en) 2003-09-29 2011-08-23 Google Inc. Method and apparatus for output of search results
US7451321B2 (en) * 2003-10-07 2008-11-11 Joseph Ernest Dryer Electronic signature management method
US7836038B2 (en) * 2003-12-10 2010-11-16 Google Inc. Methods and systems for information extraction
US7249319B1 (en) * 2003-12-22 2007-07-24 Microsoft Corporation Smartly formatted print in toolbar
US7647300B2 (en) * 2004-01-26 2010-01-12 Google Inc. Methods and systems for output of search results
US7653883B2 (en) * 2004-07-30 2010-01-26 Apple Inc. Proximity detector in handheld device
US8060864B1 (en) 2005-01-07 2011-11-15 Interactive TKO, Inc. System and method for live software object interaction
US8117591B1 (en) 2005-01-07 2012-02-14 Interactive TKO, Inc. Graphical model for test case viewing, editing, and reporting
US20060155824A1 (en) * 2005-01-11 2006-07-13 Tetsuro Motoyama Method and system for extracting information from networked devices using the HTTP protocol and precondition information
WO2006093394A1 (en) * 2005-03-04 2006-09-08 Chutnoon Inc. Server, method and system for providing information search service by using web page segmented into several information blocks
US8082259B2 (en) * 2005-03-16 2011-12-20 Sony Corporation Information processing apparatus for extracting objects
US8468445B2 (en) 2005-03-30 2013-06-18 The Trustees Of Columbia University In The City Of New York Systems and methods for content extraction
US7450760B2 (en) * 2005-05-18 2008-11-11 Scanr, Inc. System and method for capturing and processing business data
JP4234698B2 (en) * 2005-06-20 2009-03-04 富士通株式会社 Structured document processing system
US7669119B1 (en) * 2005-07-20 2010-02-23 Alexa Internet Correlation-based information extraction from markup language documents
US7529748B2 (en) * 2005-11-15 2009-05-05 Ji-Rong Wen Information classification paradigm
US7747942B2 (en) * 2005-12-20 2010-06-29 American Express Travel Related Services Company, Inc. System and method for obtaining a markup language template through reversing engineering
US8682712B2 (en) * 2006-05-22 2014-03-25 Google Inc. Monitoring landing page experiments
US7831658B2 (en) * 2006-05-22 2010-11-09 Google Inc. Generating landing page variants
US7844894B2 (en) * 2006-05-22 2010-11-30 Google Inc. Starting landing page experiments
CN101094194B (en) * 2006-06-19 2010-06-23 腾讯科技(深圳)有限公司 Method for picking up web information needed by user in web page
US20080016029A1 (en) * 2006-07-11 2008-01-17 Mariam John Optimizing a query to a database
US7606752B2 (en) 2006-09-07 2009-10-20 Yodlee Inc. Host exchange in bill paying services
US8271429B2 (en) * 2006-09-11 2012-09-18 Wiredset Llc System and method for collecting and processing data
US7647351B2 (en) * 2006-09-14 2010-01-12 Stragent, Llc Web scrape template generation
US20080071819A1 (en) * 2006-09-14 2008-03-20 Jonathan Monsarrat Automatically extracting data and identifying its data type from Web pages
JP4660453B2 (en) * 2006-11-13 2011-03-30 昭和電工株式会社 Gallium nitride compound semiconductor light emitting device
US20080243823A1 (en) * 2007-03-28 2008-10-02 Elumindata, Inc. System and method for automatically generating information within an eletronic document
WO2008146341A1 (en) * 2007-05-25 2008-12-04 Fujitsu Limited Workflow diagram generator, workflow diagram generating device, and workflow diagram generating method
US20080306830A1 (en) * 2007-06-07 2008-12-11 Cliquality, Llc System for rating quality of online visitors
KR101424261B1 (en) * 2007-09-04 2014-07-31 주식회사 엘지유플러스 Method for prviding mobile web service and a mobile phone for excuting the method
US8296643B1 (en) 2007-10-18 2012-10-23 Google Inc. Running multiple web page experiments on a test page
US7809725B1 (en) * 2007-10-18 2010-10-05 Google Inc. Acquiring web page experiment schema
US8589366B1 (en) * 2007-11-01 2013-11-19 Google Inc. Data extraction using templates
US8589788B2 (en) * 2007-12-19 2013-11-19 International Business Machines Corporation Methods, systems, and computer program products for automatic parsing of markup language documents
US8352509B2 (en) * 2007-12-19 2013-01-08 International Business Machines Corporation Methods, systems, and computer program products for accessing a multi-format data object
US7895293B1 (en) 2008-02-25 2011-02-22 Google Inc. Web page experiments with fragmented section variations
US8170349B2 (en) * 2008-03-18 2012-05-01 Yahoo! Inc. Graphical rating conversion
US8694887B2 (en) 2008-03-26 2014-04-08 Yahoo! Inc. Dynamic contextual shortcuts
US9189478B2 (en) * 2008-04-03 2015-11-17 Elumindata, Inc. System and method for collecting data from an electronic document and storing the data in a dynamically organized data structure
US8261334B2 (en) 2008-04-25 2012-09-04 Yodlee Inc. System for performing web authentication of a user by proxy
US8041712B2 (en) * 2008-07-22 2011-10-18 Elumindata Inc. System and method for automatically selecting a data source for providing data related to a query
US8037062B2 (en) 2008-07-22 2011-10-11 Elumindata, Inc. System and method for automatically selecting a data source for providing data related to a query
US8176042B2 (en) * 2008-07-22 2012-05-08 Elumindata, Inc. System and method for automatically linking data sources for providing data related to a query
US7818686B2 (en) 2008-09-04 2010-10-19 International Business Machines Corporation System and method for accelerated web page navigation using keyboard accelerators in a data processing system
US9111019B2 (en) 2008-09-30 2015-08-18 Interactive TKO, Inc. Modeling and testing interactions between components of a software system
US8121991B1 (en) 2008-12-19 2012-02-21 Google Inc. Identifying transient paths within websites
US8086953B1 (en) * 2008-12-19 2011-12-27 Google Inc. Identifying transient portions of web pages
US20100192055A1 (en) * 2009-01-27 2010-07-29 Kutano Corporation Apparatus, method and article to interact with source files in networked environment
US8555359B2 (en) 2009-02-26 2013-10-08 Yodlee, Inc. System and methods for automatically accessing a web site on behalf of a client
US20100281351A1 (en) * 2009-04-29 2010-11-04 Soiba Mohammed Web print content control using html
US20100315440A1 (en) * 2009-06-15 2010-12-16 International Business Machines Corporation Adaptive viewing of remote documents on mobile devices
US8689117B1 (en) 2009-10-30 2014-04-01 Google Inc. Webpages with conditional content
US8683311B2 (en) 2009-12-11 2014-03-25 Microsoft Corporation Generating structured data objects from unstructured web pages
US8966454B1 (en) 2010-10-26 2015-02-24 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8984490B1 (en) 2010-10-26 2015-03-17 Interactive TKO, Inc. Modeling and testing of interactions between components of a software system
US8850313B2 (en) 2012-02-08 2014-09-30 Mehernosh Mody Systems and methods for increasing relevancy of search results in intra web domain and cross web domain search and filter operations
US20130268832A1 (en) * 2012-04-10 2013-10-10 International Business Machines Corporation Method and system for creating digital bookmarks
US10366401B1 (en) 2012-06-29 2019-07-30 Google Llc Content placement optimization
US20140380146A1 (en) * 2013-06-25 2014-12-25 Microsoft Corporation Creating playlist from web page
US10025839B2 (en) 2013-11-29 2018-07-17 Ca, Inc. Database virtualization
US9727314B2 (en) 2014-03-21 2017-08-08 Ca, Inc. Composite virtual services
US9531609B2 (en) 2014-03-23 2016-12-27 Ca, Inc. Virtual service automation
US9898390B2 (en) 2016-03-30 2018-02-20 Ca, Inc. Virtual service localization
US10114736B2 (en) 2016-03-30 2018-10-30 Ca, Inc. Virtual service data set generation
US10754914B2 (en) 2016-08-24 2020-08-25 Robert Bosch Gmbh Method and device for unsupervised information extraction
US10922366B2 (en) * 2018-03-27 2021-02-16 International Business Machines Corporation Self-adaptive web crawling and text extraction
US10956658B2 (en) * 2018-06-21 2021-03-23 Adobe Inc. Digital content editing of a document object model (DOM) based on object model comparison
US20200090097A1 (en) * 2018-09-14 2020-03-19 International Business Machines Corporation Providing user workflow assistance
US10719573B2 (en) 2018-10-31 2020-07-21 Flinks Technology Inc. Systems and methods for retrieving web data
US11429897B1 (en) 2019-04-26 2022-08-30 Bank Of America Corporation Identifying relationships between sentences using machine learning
US11783005B2 (en) 2019-04-26 2023-10-10 Bank Of America Corporation Classifying and mapping sentences using machine learning
CN111460803B (en) * 2020-03-18 2023-11-10 北京邮电大学 Equipment identification method based on Web management page of industrial Internet of things equipment

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5875441A (en) * 1996-05-07 1999-02-23 Fuji Xerox Co., Ltd. Document database management system and document database retrieving method
US5913214A (en) * 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US5956726A (en) * 1995-06-05 1999-09-21 Hitachi, Ltd. Method and apparatus for structured document difference string extraction
US5961591A (en) * 1997-05-13 1999-10-05 Microsoft Corporation Downloading data while rejection of its use may be overridden
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US6085190A (en) * 1996-11-15 2000-07-04 Digital Vision Laboratories Corporation Apparatus and method for retrieval of information from various structured information
US6131092A (en) * 1992-08-07 2000-10-10 Masand; Brij System and method for identifying matches of query patterns to document text in a document textbase
US6347320B1 (en) * 1998-04-30 2002-02-12 International Business Machines Corporation Search parameters
US6408297B1 (en) * 1999-02-03 2002-06-18 Fujitsu Limited Information collecting apparatus
US6502112B1 (en) * 1999-08-27 2002-12-31 Unisys Corporation Method in a computing system for comparing XMI-based XML documents for identical contents
US6519557B1 (en) * 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US20030145278A1 (en) * 2002-01-22 2003-07-31 Nielsen Andrew S. Method and system for comparing structured documents
US6678681B1 (en) * 1999-03-10 2004-01-13 Google Inc. Information extraction from a database
US6826553B1 (en) * 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
US20040249824A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Semantics-bases indexing in a distributed data processing system
US6842796B2 (en) * 2001-07-03 2005-01-11 International Business Machines Corporation Information extraction from documents with regular expression matching
US20050038785A1 (en) * 2003-07-29 2005-02-17 Neeraj Agrawal Determining structural similarity in semi-structured documents
US7013310B2 (en) * 2002-01-03 2006-03-14 Cashedge, Inc. Method and apparatus for retrieving and processing data
US7085994B2 (en) * 2000-05-22 2006-08-01 Sap Portals, Inc. Snippet selection

Patent Citations (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6131092A (en) * 1992-08-07 2000-10-10 Masand; Brij System and method for identifying matches of query patterns to document text in a document textbase
US6526410B1 (en) * 1995-06-05 2003-02-25 Hitachi, Ltd. Method and apparatus for structured document difference string extraction
US5956726A (en) * 1995-06-05 1999-09-21 Hitachi, Ltd. Method and apparatus for structured document difference string extraction
US5875441A (en) * 1996-05-07 1999-02-23 Fuji Xerox Co., Ltd. Document database management system and document database retrieving method
US5913214A (en) * 1996-05-30 1999-06-15 Massachusetts Inst Technology Data extraction from world wide web pages
US6085190A (en) * 1996-11-15 2000-07-04 Digital Vision Laboratories Corporation Apparatus and method for retrieval of information from various structured information
US5983268A (en) * 1997-01-14 1999-11-09 Netmind Technologies, Inc. Spreadsheet user-interface for an internet-document change-detection tool
US6012087A (en) * 1997-01-14 2000-01-04 Netmind Technologies, Inc. Unique-change detection of dynamic web pages using history tables of signatures
US5961591A (en) * 1997-05-13 1999-10-05 Microsoft Corporation Downloading data while rejection of its use may be overridden
US6347320B1 (en) * 1998-04-30 2002-02-12 International Business Machines Corporation Search parameters
US6826553B1 (en) * 1998-12-18 2004-11-30 Knowmadic, Inc. System for providing database functions for multiple internet sources
US6408297B1 (en) * 1999-02-03 2002-06-18 Fujitsu Limited Information collecting apparatus
US6678681B1 (en) * 1999-03-10 2004-01-13 Google Inc. Information extraction from a database
US6538673B1 (en) * 1999-08-23 2003-03-25 Divine Technology Ventures Method for extracting digests, reformatting, and automatic monitoring of structured online documents based on visual programming of document tree navigation and transformation
US6502112B1 (en) * 1999-08-27 2002-12-31 Unisys Corporation Method in a computing system for comparing XMI-based XML documents for identical contents
US7085994B2 (en) * 2000-05-22 2006-08-01 Sap Portals, Inc. Snippet selection
US6519557B1 (en) * 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US6842796B2 (en) * 2001-07-03 2005-01-11 International Business Machines Corporation Information extraction from documents with regular expression matching
US7013310B2 (en) * 2002-01-03 2006-03-14 Cashedge, Inc. Method and apparatus for retrieving and processing data
US20030145278A1 (en) * 2002-01-22 2003-07-31 Nielsen Andrew S. Method and system for comparing structured documents
US20040249824A1 (en) * 2003-06-05 2004-12-09 International Business Machines Corporation Semantics-bases indexing in a distributed data processing system
US20050038785A1 (en) * 2003-07-29 2005-02-17 Neeraj Agrawal Determining structural similarity in semi-structured documents

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8249885B2 (en) 2001-08-08 2012-08-21 Gary Charles Berkowitz Knowledge-based e-catalog procurement system and method
US20030061122A1 (en) * 2001-08-08 2003-03-27 Berkowitz Gary Charles Knowledge-based e-catalog procurement system and method
US20040004641A1 (en) * 2002-07-02 2004-01-08 Ullas Gargi Image segmentation and warping for specialized display viewing
US7278117B2 (en) * 2002-07-02 2007-10-02 Hewlett-Packard Development Company, L.P. Image segmentation and warping for specialized display viewing
US7774191B2 (en) 2003-04-09 2010-08-10 Gary Charles Berkowitz Virtual supercomputer
US20040205751A1 (en) * 2003-04-09 2004-10-14 Berkowitz Gary Charles Virtual supercomputer
US8271259B2 (en) 2003-04-09 2012-09-18 Gary Charles Berkowitz Virtual supercomputer
US20110004566A1 (en) * 2003-04-09 2011-01-06 Gary Charles Berkowitz Virtual Supercomputer
US7139969B1 (en) * 2003-06-13 2006-11-21 Microsoft Corporation Method and system for evaluating and connecting web parts
US20120072409A1 (en) * 2005-09-28 2012-03-22 Bradley John Perry Method and system for identifying targeted data on a web page
US20070293950A1 (en) * 2006-06-14 2007-12-20 Microsoft Corporation Web Content Extraction
US9547648B2 (en) * 2006-08-03 2017-01-17 Excalibur Ip, Llc Electronic document information extraction
US20080065737A1 (en) * 2006-08-03 2008-03-13 Yahoo! Inc. Electronic document information extraction
US20080059486A1 (en) * 2006-08-24 2008-03-06 Derek Edwin Pappas Intelligent data search engine
US8364695B2 (en) 2006-12-22 2013-01-29 Gary Charles Berkowitz Adaptive e-procurement find assistant using algorithmic intelligence and organic knowledge capture
US20090094227A1 (en) * 2006-12-22 2009-04-09 Gary Charles Berkowitz Adaptive e-procurement find assistant using algorithmic intelligence and organic knowledge capture
US20080221915A1 (en) * 2007-03-05 2008-09-11 Gary Charles Berkowitz Softwate method and system to enable compliance with audit requirements for electronic procurement pricing
US7720883B2 (en) 2007-06-27 2010-05-18 Microsoft Corporation Key profile computation and data pattern profile computation
US20100191616A1 (en) * 2007-07-19 2010-07-29 Gary Charles Berkowitz Software method and system to enable automatic, real-time extraction of item price and availability from a supplier catalog during a buyer's electronic procurement shopping process
TWI397858B (en) * 2007-10-26 2013-06-01 Yahoo Inc Method and computer readable medium for multimedia enhanced browser interface
US20090113301A1 (en) * 2007-10-26 2009-04-30 Yahoo! Inc. Multimedia Enhanced Browser Interface
US8065265B2 (en) 2007-10-29 2011-11-22 Microsoft Corporation Methods and apparatus for web-based research
US20090112842A1 (en) * 2007-10-29 2009-04-30 Microsoft Corporation Methods and apparatus for web-based research
US20090228497A1 (en) * 2008-03-04 2009-09-10 Anand Bacaji Ramakrishnan Patent Reference Processor
CN101866362A (en) * 2010-07-01 2010-10-20 优视科技有限公司 Method and system for automatically positioning main contents of webpages for mobile communication equipment terminal
US8868621B2 (en) 2010-10-21 2014-10-21 Rillip, Inc. Data extraction from HTML documents into tables for user comparison
US9075893B1 (en) * 2011-02-25 2015-07-07 Amazon Technologies, Inc. Providing files with cacheable portions
US9678932B2 (en) 2012-03-08 2017-06-13 Samsung Electronics Co., Ltd. Method and apparatus for extracting body on web page
WO2013134350A1 (en) * 2012-03-09 2013-09-12 Digilant, Inc. Look-alike website scoring
US9952860B2 (en) 2013-03-13 2018-04-24 Veriscape, Inc. Dynamic memory management for a virtual supercomputer
US10282479B1 (en) 2014-05-08 2019-05-07 Google Llc Resource view data collection
US11120094B1 (en) 2014-05-08 2021-09-14 Google Llc Resource view data collection
US11768904B1 (en) 2014-05-08 2023-09-26 Google Llc Resource view data collection
CN106326236A (en) * 2015-06-18 2017-01-11 天脉聚源(北京)科技有限公司 Webpage content identification method and system
CN107103012A (en) * 2016-01-28 2017-08-29 阿里巴巴集团控股有限公司 Recognize method, device and the server of violated webpage
US20180260389A1 (en) * 2017-03-08 2018-09-13 Fujitsu Limited Electronic document segmentation and relation discovery between elements for natural language processing
CN110399529A (en) * 2019-07-23 2019-11-01 福建奇点时空数字科技有限公司 A kind of data entity abstracting method based on depth learning technology

Also Published As

Publication number Publication date
US6920609B1 (en) 2005-07-19

Similar Documents

Publication Publication Date Title
US6920609B1 (en) Systems and methods for identifying and extracting data from HTML pages
US7278092B2 (en) System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7562287B1 (en) System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7360166B1 (en) System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US6829780B2 (en) System and method for dynamically optimizing a banner advertisement to counter competing advertisements
US8255381B2 (en) Expanded text excerpts
US7216290B2 (en) System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US7162526B2 (en) Apparatus and methods for filtering content based on accessibility to a user
US7895595B2 (en) Automatic method and system for formulating and transforming representations of context used by information services
US20050131992A1 (en) System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US20070073756A1 (en) System and method configuring contextual based content with published content for display on a user interface
US20090248707A1 (en) Site-specific information-type detection methods and systems
US20140222795A1 (en) Methods and apparatus for facilitating delivery of a service associated with a product
US20140052778A1 (en) Method and apparatus for mapping a site on a wide area network
US20080306941A1 (en) System for automatically extracting by-line information
US7590631B2 (en) System and method for guiding navigation through a hypertext system
US20090019033A1 (en) User-customized content providing device, method and recorded medium
US20060101332A1 (en) Virtual tags and the process of virtual tagging
US20050138033A1 (en) Methods, applications and systems for deriving content from network resources
US20080071768A1 (en) System and Method for Ordering Items
US20110106637A1 (en) Program, information processing apparatus, information processing method, and information management apparatus
US20110209046A1 (en) Optimizing web content display on an electronic mobile reader
US20150169501A1 (en) Highlighting of document elements
KR20110043215A (en) System of recommendation with comparison price for products and method thereof
JP3521174B2 (en) Information filtering device and related information providing method applied to the device

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: YAHOO HOLDINGS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO| INC.;REEL/FRAME:042963/0211

Effective date: 20170613

AS Assignment

Owner name: OATH INC., NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:YAHOO HOLDINGS, INC.;REEL/FRAME:045240/0310

Effective date: 20171231