IP Library Granted Patent US 12,711,192
Granted Patent B2
US 12,711,192 · App. 17/821,861 · Granted Aug 18, 2026

System and method for near real time web scraping

Inventors: Omer Gazit (Hod HaSharon, IL); Yuval Hoch Ronen (Tel Aviv, IL)
Assignee: Karma Shopping Ltd.
G06F16/9577G06F16/951G06F16/972
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 12,711,192
App. No.
17/821,861
Filed
Aug 24, 2022
Granted
Aug 18, 2026
Kind
B2
Art Unit
2141
USPC
715/234
Abstract

A system and method perform near real time scraping of a web page to generate a modified web page. The method includes receiving a uniform resource locator (URL) request directed at a web server; detecting in the URL request a textual resource and a non-textual resource; generating a request for the textual resource over a first network path including a first determined latency; generating a request for the non-textual resource over a second network path including a second determined latency, which is greater than the first determined latency; receiving the textual resource and the non-textual resource; scraping data from the textual resource; and generating a modified web page based on the scraped data, the textual resource, and the non-textual resource.

Claims (62)

1 . A method for near real time scraping of a web page to generate a modified web page, comprising:

receiving a uniform resource locator (URL) request directed at a web server;

detecting in the URL request a textual resource and a non-textual resource;

generating a request for the textual resource over a first network path including a first determined latency;

generating a request for the non-textual resource over a second network path including a second determined latency, which is greater than the first determined latency, wherein the second network path is different from the first network path;

receiving the textual resource;

scraping data from the textual resource prior to receiving the non-textual resource; and

generating a modified web page based on the scraped data, the textual resource, and the non-textual resource.

2 . The method of claim 1 , wherein the second network path includes a proxy server, the proxy server associated with a geolocation which is not a geolocation of a client device from which the URL request originates.

3 . The method of claim 1 , wherein scraping is performed in response to detecting a document object model (DOM) event.

4 . The method of claim 3 , wherein the DOM event indicates that the textual resource is received.

5 . The method of claim 1 , wherein the non-textual resource is any one of: an image, a video, a stylesheet, a media file, and any combination thereof.

6 . The method of claim 1 , further comprising:

detecting a predefined data field in the textual resource; and

detecting a value corresponding to the predefined data field.

7 . The method of claim 6 , further comprising:

generating the modified web page further based on the detected value.

8 . The method of claim 6 , further comprising:

querying an external database based on the detected value.

9 . The method of claim 8 , further comprising:

generating an additional content for the modified web page based on a result received in response to executing the query on the external database.

10 . The method of claim 1 , further comprising:

filtering a content from the non-textual resource, wherein the filtered content is not requested in the generated requests.

11 . The method of claim 10 , wherein the content is any one of: a JavaScript code, an image, a video, a multimedia, a font, an Ajax request, and a combination thereof.

12 . The method of claim 1 , wherein the first network path is based on a first geolocation, and the second network path is based on a second geolocation.

13 . A non-transitory computer readable medium having stored thereon instructions for causing a processing circuitry to execute a process, the process comprising:

receiving a uniform resource locator (URL) request directed at a web server;

detecting in the URL request a textual resource and a non-textual resource;

generating a request for the textual resource over a first network path including a first determined latency;

generating a request for the non-textual resource over a second network path including a second determined latency, which is greater than the first determined latency, wherein the second network path is different from the first network path;

receiving the textual resource;

scraping data from the textual resource prior to receiving the non-textual resource; and

generating a modified web page based on the scraped data, the textual resource, and the non-textual resource.

14 . A system for near real time scraping of a web page to generate a modified web page, comprising:

a processing circuitry; and

a memory, the memory containing instructions that, when executed by the processing circuitry, configure the system to:

receive a uniform resource locator (URL) request directed at a web server;

detect in the URL request a textual resource and a non-textual resource;

generate a request for the textual resource over a first network path including a first determined latency;

generate a request for the non-textual resource over a second network path including a second determined latency, which is greater than the first determined latency, wherein the second network path is different from the first network path;

receive the textual resource;

scrape data from the textual resource prior to receiving the non-textual resource; and

generate a modified web page based on the scraped data, the textual resource, and the non-textual resource.

15 . The system of claim 14 , wherein the second network path includes a proxy server, the proxy server associated with a geolocation which is not a geolocation of a client device from which the URL request originates.

16 . The system of claim 14 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

scrape data in response to detecting a document object model (DOM) event.

17 . The system of claim 16 , wherein the DOM event indicates that the textual resource is received.

18 . The system of claim 14 , wherein the non-textual resource is any one of:

an image, a video, a stylesheet, a media file, and any combination thereof.

19 . The system of claim 14 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

detect a predefined data field in the textual resource; and

detect a value corresponding to the predefined data field.

20 . The system of claim 19 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

generate the modified web page further based on the detected value.

21 . The system of claim 19 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

query an external database based on the detected value.

22 . The system of claim 21 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

generate an additional content for the modified web page based on a result received in response to executing the query on the external database.

23 . The system of claim 14 , wherein the memory contain further instructions which when executed by the processing circuitry further configure the system to:

filter a content from the non-textual resource, wherein the filtered content is not requested in the generated requests.

24 . The system of claim 23 , wherein the content is any one of: a JavaScript code, an image, a video, a multimedia, a font, an Ajax request, and a combination thereof.

25 . The system of claim 14 , wherein the first network path is based on a first geolocation, and the second network path is based on a second geolocation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2022
From: GAZIT, OMER; HOCH RONEN, YUVAL
To: KARMA SHOPPING LTD.
Reel/Frame 060883/0958 →
Continuity (1)
Related Publication 20240070218A1 · Feb 29, 2024
References Cited (14)
US 7072890B2 · Salerno et al. · 2006 [cited by applicant]
US 7647351B2 · Monsarrat · 2010 [cited by applicant]
US 9148467B1 · Colton et al. · 2015 [cited by applicant]
US 9385928B2 · Petta et al. · 2016 [cited by applicant]
US 10601948B1 · Juravicius et al. · 2020 [cited by applicant]
US 10965770B1 · Vilcinskas et al. · 2021 [cited by applicant]
US 11196712B1 · Norbutas · 2021 [cited by applicant]
US 11204971B1 · Vilcinskas · 2021 [cited by examiner]
US 11212354B1 · Pilkauskas · 2021 [cited by examiner]
US 20110038470A1 · Kent · 2011 [cited by examiner]
US 20120303697A1 · Alstad · 2012 [cited by examiner]
US 20170012861A1 · Blumenthal · 2017 [cited by examiner]
US 20220070272A1 · Vasiliauskas · 2022 [cited by examiner]
H. Lan et al., “COVID-Scraper: An Open-Source Toolset for Automatically Scraping and Processing Global Multi-Scale Spatiotemporal COVID-19 Records,” in IEEE Access, vol. 9, pp. 84783-84798, 2021, doi: 10.1109/ACCESS.202… [cited by examiner]