IP Library Granted Patent US 11,537,607
Granted Patent B2
US 11,537,607 · App. 17/326,097 · Granted Dec 27, 2022

Automated sequential site navigation

Inventors: Robert Duke (Austin, TX); Ryan Engle (Austin, TX); Ryan Peck (Austin, TX); Jonathan Coon (Austin, TX)
Assignee: Capital One Services, LLC
G06F16/245G06F16/95G06F16/986G06Q30/0629H04L67/01H04L67/02H04L67/10H04L67/564H04L67/567H04L67/60
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,537,607
App. No.
17/326,097
Granted
Dec 27, 2022
Kind
B2
Abstract

A website is navigated automatically in a sequential manner, for example by performing a series of specific network requests in a specified order, without necessarily using a browser, and without necessarily rendering each web page in the sequence. Interactions with a website are automatically recorded, stored, and analyzed. Requests and responses can be associated with particular in-put/output operations. Based on the analysis, the system can determine what data is expected by web servers, so that it can effectively simulate browser operations in connection with those web servers, and extract useful information from the data received in response to those operations. Thus, data extraction and/or other operations can be performed more efficiently and more quickly, while reducing the computing resources needed.

Claims (43)

1. A computer-implemented method on a client device for automatically navigating a website, comprising:

obtaining an encoding scheme of a web server based on recording interactions with a website, the encoding scheme indicating:

a request containing a first data, and

a key to swap the first data in the request, so that the encoding scheme can be used for future requests;

generating a first rewritten network request based on the encoding scheme, the first rewritten network request including first substitute data in place of the first data by inserting the first substitute data for the key in the request, the first rewritten network request being used to change an input information;

executing the first rewritten network request based on the encoding scheme;

generating a second rewritten network request based on the encoding scheme, the second rewritten network request including second substitute data in place of the first data by inserting the second substitute data for the key in the request, the second rewritten network request being used to change a coupon; and

executing the second rewritten network request based on the encoding scheme.

2. The computer-implemented method of claim 1 , wherein the executing the first rewritten network request or the second rewritten network request includes transmitting the first rewritten network request or the second rewritten network request to the web server.

3. The computer-implemented method of claim 1 , further comprising, prior to generating the first rewritten network request or the second rewritten network request, identifying network requests of a plurality of network requests necessary to complete a web-based operation.

4. The computer-implemented method of claim 3 , wherein the web-based operation includes displaying a plurality of web pages.

5. The computer-implemented method of claim 3 , wherein the web-based operation includes a web-based purchase.

6. The computer-implemented method of claim 3 , wherein each network of the plurality of network requests includes a communication between the client device and the web server.

7. The computer-implemented method of claim 1 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without using a browser.

8. The computer-implemented method of claim 1 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without rendering results for display.

9. The computer-implemented method of claim 1 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without human interaction.

10. The computer-implemented method of claim 1 , further comprising extracting information from a response of the website in response to receiving the response to the first rewritten network request or the second rewritten network request.

11. A non-transitory computer-readable medium storing instructions that, when executed by a processor on a client device, cause the processor to perform a method for automatically navigating a website, the method comprising:

obtaining an encoding scheme of a web server based on recording interactions with a website, the encoding scheme indicating:

a request containing a first data, and

a key to swap the first data in the request, so that the encoding scheme can be used for future requests;

generating a first rewritten network request based on the encoding scheme, the first rewritten network request including first substitute data in place of the first data by inserting the first substitute data for the key in the request, the first rewritten network request being used to change an input information;

executing the first rewritten network request based on the encoding scheme;

generating a second rewritten network request based on the encoding scheme, the second rewritten network request including second substitute data in place of the first data by inserting the second substitute data for the key in the request, the second rewritten network request being used to change a coupon; and

executing the second rewritten network request based on the encoding scheme.

12. The non-transitory computer-readable medium of claim 11 , wherein the method further comprises, prior to the generating the first rewritten network request or the second rewritten network request, automatically identifying network requests of a plurality of network requests necessary to complete a web-based operation.

13. The non-transitory computer-readable medium of claim 12 , wherein the web-based operation includes displaying a plurality of web pages.

14. The non-transitory computer-readable medium of claim 12 , wherein the web-based operation includes a web-based purchase.

15. The non-transitory computer-readable medium of claim 12 , wherein each network request of the plurality of network requests includes a communication between the client device and the web server.

16. The non-transitory computer-readable medium of claim 11 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without using a browser.

17. The non-transitory computer-readable medium of claim 11 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without rendering results for display.

18. The non-transitory computer-readable medium of claim 11 , wherein the executing the first rewritten network request or the second rewritten network request includes automatically executing the first rewritten network request or the second rewritten network request without human interaction.

19. The non-transitory computer-readable medium of claim 11 , wherein the method further comprises automatically extracting information from a response of the website in response to receiving the response to the first rewritten network request or the second rewritten network request.

20. A system for automatically navigating a website, comprising:

a memory storing instructions; and

a processor executing the instructions to perform a process based on recording interactions with a website, the process including:

obtaining an encoding scheme of a web server, the encoding scheme indicating:

a request containing a first data, and

a key to swap the first data in the request, so that the encoding scheme can be used for future requests;

generating a first rewritten network request based on the encoding scheme, the first rewritten network request including first substitute data in place of the first data by inserting the first substitute data for the key in the request, the first rewritten network request being used to change an input information;

executing the first rewritten network request based on the encoding scheme;

generating a second rewritten network request based on the encoding scheme, the second rewritten network request including second substitute data in place of the first data by inserting the second substitute data for the key in the request, the second rewritten network request being used to change a coupon; and

executing the second rewritten network request based on the encoding scheme.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 25, 2021
From: WIKIBUY HOLDINGS, LLC
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 056675/0296 →
CHANGE OF NAME Recorded Jun 22, 2021
From: CAPITAL ONE WMS LLC
To: WIKIBUY HOLDINGS, LLC
Reel/Frame 056626/0431 →
MERGER AND CHANGE OF NAME Recorded Jun 14, 2021
From: WIKIBUY HOLDINGS, LLC; CAPITAL ONE WMS LLC
To: CAPITAL ONE WMS LLC
Reel/Frame 056532/0307 →
CHANGE OF NAME Recorded May 28, 2021
From: IMPOSSIBLE VENTURES, LLC
To: WIKIBUY HOLDINGS, LLC
Reel/Frame 056474/0981 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: DUKE, ROBERT; ENGLE, RYAN; PECK, RYAN; COON, JONATHAN
To: IMPOSSIBLE VENTURES, LLC
Reel/Frame 056345/0875 →
Continuity (6)
Continuation 16599632 · Oct 11, 2019
Continuation 15287668 · Oct 6, 2016
Provisional Application 62376243 · Aug 17, 2016
Provisional Application 62238565 · Oct 7, 2015
Provisional Application 62238574 · Oct 7, 2015
Related Publication 20210271671A1 · Sep 2, 2021
Cited By (1)
US 12,314,995