Disclosed herein are system, method, and computer program product embodiments for improving web scraping technology by using machine learning to generate parsing expressions. A system receives a request to identify an element in a first document at a target web page. The system downloads and modifies the first document by adding an index value as an attribute to a tag for the element. A query is submitted to a large language model (LLM), including the modified first document, a description of the element, and a request asking the LLM to identify the element based on the description. The system obtains, from the LLM, the index value assigned to the element. The system generates an expression defining a path to the element in the first document using the index returned by the large language model. The system downloads a second document, and parses data of a second element using the expression.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
This invention discloses selecting a proxy IP device (Proxy-ICDAPIA) by its geographical coordinates and distance from the target web service. A method and system are disclosed, allowing users of the proxy service to specify their preferred Proxy-ICDAPIAs by geographic coordinates in the user's request. Embodiments describe the Proxy-ICDAPIA selection using Geohash areas and strings, also, selecting Proxy-ICDAPIAs from circular geographical areas specified by center coordinates X, Y and radius R. The solution serves for selecting Proxy-ICDAPIAs efficiently in cities and metropolitan areas where geographic density of web services is high, and selecting Proxy-ICDAPIAs by country/city may be not sufficient. Another problem solved when a client uses Proxy-ICDAPIAs selection by coordinates, is an inability to provide a country code. The aforementioned functionality does work without a specified country code, some countries are not included in the pool used when no parameters are provided. This solution allows creating certain length GeoHash pools, then encoding the client's provided coordinates into its own GeoHash to determine the pool (or pools) containing Proxy-ICDAPIAs that match the specified coordinates requirements.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a request for a web crawler to be enriched with a customized browsing profile in order to be categorized as an organic human user to obtain targeted content. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include at least some of the following exemplary steps: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request, and forwarding the data to the User's device pursuant to the examination of the response obtained from the Target system.
Systems and methods to manage and efficiently perform authorization of multiple proxy clients are disclosed. Furthermore, systems and methods to measure and check whether the web traffic of one or more client devices has reached a permissible limit of web traffic assigned by the proxy service provider. Specifically, a proxy is configured to gather and save authorization information of one or more clients within its memory. Therefore, the proxy server can verify and authorize one or more clients by utilizing the data from its memory. Furthermore, the proxy is configured to measure and report the utilized web traffic of one or more client devices to a messaging platform. In another aspect, systems and methods to check whether one or more client devices have reached a permissible amount of web traffic limit are disclosed.
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods for coordinating network connectivity and communication between proxy servers, exit-nodes and client modules are disclosed. In one aspect, proxy-nodes in a proxy infrastructure accept connections with exit-nodes based on geographical proximity or proxy-node metrics. Further, a proxy-node can communicate and instruct another proxy-node to service the client request via a suitable exit-node. Further still, a proxy-node can communicate and instruct proxy-node to redirect a suitable exit-node towards the first proxy-node in order to service the client request. In another aspect, the proxy-infrastructure enables client modules to connect to proxy-nodes based on geographical proximity, client parameters, and client's behavioral informatics. In yet another aspect, proxy infrastructure enables a proxy node to redirect exit-nodes to a different proxy-node in the event of a) system overload or resource exhaustion, b) graceful shutdown c) erroneous network connection between exit-nodes and the proxy-node.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods that allow examination of response data collected from content providers and provide for classification and routing according to the classification. The process of classification employs an unsupervised, or partially unsupervised, Machine Learning classifier model for identifying data collection responses that contains no data, mangled data, or a block, for assigning a classification correspondingly and for feeding the classification decision back to a data collection platform.
G06F 18/214 - Generating training patternsBootstrap methods, e.g. bagging or boosting
G06F 18/2411 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
G06F 18/2415 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
G06F 18/243 - Classification techniques relating to the number of classes
G06N 3/044 - Recurrent networks, e.g. Hopfield networks
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Traffic services for network addresses may be provided within threads executing within a main process for managing the traffic services. The threads may share resources within the main process, reducing the computing resources consumed to provide traffic services to large pools of network addresses. According to one embodiment, a method may include executing a main process for managing traffic services; determining, by the main process, a configuration specifying at least one or more destination addresses; instantiating, by the main process, one or more traffic service (TS) threads for the one or more destination addresses; and/or processing, by the one or more traffic service (TS) threads, inbound traffic for the corresponding one or more destination addresses. Other aspects and embodiments for traffic management are also disclosed.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Proxy servers within a service provider infrastructure are enabled to maintain multiple persistent connections among themselves and to exchange data bi-directionally in an unsolicited manner. Specifically, exit proxy servers are enabled to request their respective proxy supernodes to update the already existing network connection to support WebSocket communication channels. Accordingly, the respective proxy supernodes are enabled to update the network connection with the exit proxy servers to support WebSocket communication channels. A single instance of a proxy supernode and an exit proxy server can maintain multiple WebSocket communication channels with each other. By utilizing the said WebSocket communication channels, the proxy supernode and the exit proxy servers can exchange data with each other simultaneously without any data losses. Thus, by exchanging data via the said WebSocket communication channels, the proxy supernodes and the exit proxy servers are aimed at servicing the proxy clients in processing their data requests.
A parsing facility within a service provider infrastructure can navigate through source documents of target web pages and mine a specific list of target data by utilizing multiple parsing frames received from an external computing resource and/or system. The parsing facility receives a series of a plurality of parsing frames at random intermittent intervals. The parsing facility can store each of the plurality of parsing frames within its internal storage and learns the differences between each of the plurality of parsing frames. After learning the differences, the parsing facility can recognize appropriate parsing frames to locate and mine each target data from the source documents. The parsing facility can mine data from source documents by using each of the plurality of parsing frames for every mining cycle, thereby effectively managing the reception and usage of multiple parsing frames without any errors or faults.
Embodiments relate to scraping web content. When scraping data, the target website sometimes redirects to different URLs within its domain. The different URLs represent the same context. Embodiments use a graph ontology to identify which redirected URLs represent the same page.
Systems and methods to manage and efficiently implement functional proxy services are disclosed. In the proxy services, a single instance of exit-node is connected to at least two or multiple supernodes at any given time. One of the plurality of supernodes is configured to ping and send diagnostic requests to the connected exit-node through a network. The exit-node is directed to send the pong message and diagnostic response data to a different supernode from among the plurality of supernodes connected to the exit-node. Likewise, a client's request is received by an element of the proxy service provider and forwarded to a specific supernode capable of forwarding the client's request to the exit-node. After performing the client's request, the exit-node returns response data to a different supernode from among the plurality of supernodes connected to the exit-node.
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
H04L 67/561 - Adding application-functional data or data for application control, e.g. adding metadata
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Proxy servers within a service provider infrastructure are enabled to maintain multiple persistent connections among themselves and to exchange data bi-directionally in an unsolicited manner. Specifically, exit proxy servers are enabled to request their respective proxy supernodes to update the already existing network connection to support Web Socket communication channels. Accordingly, the respective proxy supernodes are enabled to update the network connection with the exit proxy servers to support WebSocket communication channels. A single instance of a proxy supernode and an exit proxy server can maintain multiple Web Socket communication channels with each other. By utilizing the said Web Socket communication channels, the proxy supernode and the exit proxy servers can exchange data with each other simultaneously without any data losses. Thus, by exchanging data via the said Web Socket communication channels, the proxy supernodes and the exit proxy servers are aimed at servicing the proxy clients in processing their data requests.
Systems and methods for coordinating network connectivity and communication between proxy servers, exit-nodes and client modules are disclosed. In one aspect, the proxy infrastructure enables network connectivity between exit-nodes and proxy-nodes without the need of any proxy-gateways or middleware entities to delegate the connections. Proxy-nodes in the proxy infrastructure accept connections with exit-nodes based on geographical proximity, proxy-node metrics, such as server loads and clients' frequent preferences. Further, a single instance of proxy-node can communicate and instruct another instance of proxy-node, to service the client request via a suitable exit-node. Further still, a single instance of proxy-node can communicate and instruct another instance of proxy-node to redirect a suitable exit-node towards the first proxy-node in order to service the client request. In another instance, the proxy-infrastructure enables client modules to connect to proxy-nodes based on geographical proximity, client parameters, and client's behavioral informatics. In yet another aspect, proxy infrastructure enables a proxy node to redirect exit-nodes to a different proxy—node in the event of a) system overload or resource exhaustion, b) graceful shutdown c) erroneous network connection between exit-nodes and the proxy-node.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a request for a web crawler to be enriched with a customized browsing profile in order to be categorized as an organic human user to obtain targeted content. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include at least some of the following exemplary steps: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request, and forwarding the data to the User's device pursuant to the examination of the response obtained from the Target system.
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods to manage and efficiently implement functional proxy services are disclosed. In the proxy services, a single instance of exit-node is connected to at least two or multiple supernodes at any given time. One of the plurality of supernodes is configured to ping and send diagnostic requests to the connected exit-node through a network. The exit-node is directed to send the pong message and diagnostic response data to a different supernode from among the plurality of supernodes connected to the exit-node. Likewise, a client's request is received by an element of the proxy service provider and forwarded to a specific supernode capable of forwarding the client's request to the exit-node. After performing the client's request, the exit-node returns response data to a different supernode from among the plurality of supernodes connected to the exit- node.
H04L 67/288 - Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
H04L 67/1029 - Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
25.
TRANSMITTING REQUEST AND RESPONSE INFORMATION THROUGH DIFFERENT PROXIES
Systems and methods to manage and efficiently implement functional proxy services are disclosed. In the proxy services, a single instance of exit-node is connected to at least two or multiple supernodes at any given time. One of the plurality of supernodes is configured to ping and send diagnostic requests to the connected exit-node through a network. The exit-node is directed to send the pong message and diagnostic response data to a different supernode from among the plurality of supernodes connected to the exit-node. Likewise, a client's request is received by an element of the proxy service provider and forwarded to a specific supernode capable of forwarding the client's request to the exit-node. After performing the client's request, the exit-node returns response data to a different supernode from among the plurality of supernodes connected to the exit- node.
H04L 67/1008 - Server selection for load balancing based on parameters of servers, e.g. available memory or workload
H04L 67/1029 - Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
H04L 67/288 - Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
H04L 67/60 - Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
Systems and methods that allow examination of response data collected from content providers and provide for classification and routing according to the classification. The process of classification employs an unsupervised, or partially unsupervised, Machine Learning classifier model for identifying data collection responses that contains no data, mangled data, or a block, for assigning a classification correspondingly and for feeding the classification decision back to a data collection platform.
G06F 18/2411 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
G06F 18/2415 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
G06F 18/243 - Classification techniques relating to the number of classes
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
G06N 3/044 - Recurrent networks, e.g. Hopfield networks
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
H04L 12/66 - Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
H04L 41/12 - Discovery or management of network topologies
H04L 43/10 - Active monitoring, e.g. heartbeat, ping or trace-route
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods to intelligently adapt parsing rules according to the layout changes occurring in multiple targets are disclosed. Specifically, the disclosure provides a solution to detect the layout changes in a target domain and to update parsing templates or parsing rules. The disclosed embodiments in one aspect describe methods and systems to receive and store parsing templates or parsing rules and monitoring tables or a list of related URLs within an internal storage facility. Methods and systems to scrape and parse data by following parsing rules or using parsing templates. The methods and systems describe the manner in which the parsed data and the actual data are analyzed to detect any changes in the layout of the target domain(s). The methods and systems give details on how to decide whether to update parsing rules or parsing templates depending on the layout changes in the target domains.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Systems and methods to intelligently adapt parsing rules according to the layout changes occurring in multiple targets are disclosed. Specifically, the disclosure provides a solution to detect the layout changes in a target domain and to update parsing templates or parsing rules. The disclosed embodiments in one aspect describe methods and systems to receive and store parsing templates or parsing rules and monitoring tables or a list of related URLs within an internal storage facility. Methods and systems to scrape and parse data by following parsing rules or using parsing templates. The methods and systems describe the manner in which the parsed data and the actual data are analyzed to detect any changes in the layout of the target domain(s). The methods and systems give details on how to decide whether to update parsing rules or parsing templates depending on the layout changes in the target domains.
Systems and methods to manage and efficiently perform authorization of multiple proxy clients are disclosed. Furthermore, systems and methods to measure and check whether the web traffic of one or more client devices has reached a permissible limit of web traffic assigned by the proxy service provider. Specifically, a proxy is configured to gather and save authorization information of one or more clients within its memory. Therefore, the proxy server can verify and authorize one or more clients by utilizing the data from its memory. Furthermore, the proxy is configured to measure and report the utilized web traffic of one or more client devices to a messaging platform. In another aspect, systems and methods to check whether one or more client devices have reached a permissible amount of web traffic limit are disclosed.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Traffic services for network addresses may be provided within threads executing within a main process for managing the traffic services. The threads may share resources within the main process, reducing the computing resources consumed to provide traffic services to large pools of network addresses. According to one embodiment, a method may include executing a main process for managing traffic services; determining, by the main process, a configuration specifying at least one or more destination addresses; instantiating, by the main process, one or more traffic service (TS) threads for the one or more destination addresses; and/or processing, by the one or more traffic service (TS) threads, inbound traffic for the corresponding one or more destination addresses. Other aspects and embodiments for traffic management are also disclosed.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a request for a web crawler to be enriched with a customized browsing profile in order to be categorized as an organic human user to obtain targeted content. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include at least some of the following exemplary steps: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request, and forwarding the data to the User's device pursuant to the examination of the response obtained from the Target system.
Traffic services for network addresses may be provided within threads executing within a main process for managing the traffic services. The threads may share resources within the main process, reducing the computing resources consumed to provide traffic services to large pools of network addresses. According to one embodiment, a method may include executing a main process for managing traffic services; determining, by the main process, a configuration specifying at least one or more destination addresses; instantiating, by the main process, one or more traffic service (TS) threads for the one or more destination addresses; and/or processing, by the one or more traffic service (TS) threads, inbound traffic for the corresponding one or more destination addresses. Other aspects and embodiments for traffic management are also disclosed.
A system and method of forming proxy server pools is provided. The method comprises several steps, such as requesting a pool to execute the user's request and retrieving an initial group. The system checks the service history of an initial group, including whether any of the proxy servers in an initial group are exclusive to existing pools. The exclusive proxy servers in an initial group with eligible proxy servers are replaced when needed and new proxy server pools are formed. The system also records the service history of proxy servers and pools before and after the pools are created. The method can also involve predicting the pool health in relation with the thresholds foreseen and replacing the proxy servers below the threshold.
H04L 67/564 - Enhancement of application control based on intercepted application data
H04L 67/561 - Adding application-functional data or data for application control, e.g. adding metadata
H04L 43/0817 - Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
39.
Transmitting request and response information through different proxies
Systems and methods to manage and efficiently implement functional proxy services are disclosed. In the proxy services, a single instance of exit-node is connected to at least two or multiple supernodes at any given time. One of the plurality of supernodes is configured to ping and send diagnostic requests to the connected exit-node through a network. The exit-node is directed to send the pong message and diagnostic response data to a different supernode from among the plurality of supernodes connected to the exit-node. Likewise, a client's request is received by an element of the proxy service provider and forwarded to a specific supernode capable of forwarding the client's request to the exit-node. After performing the client's request, the exit-node returns response data to a different supernode from among the plurality of supernodes connected to the exit-node.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 41/12 - Discovery or management of network topologies
40.
Methods and systems to maintain multiple persistent channels between proxy servers
Proxy servers within a service provider infrastructure are enabled to maintain multiple persistent connections among themselves and to exchange data bi-directionally in an unsolicited manner. Specifically, exit proxy servers are enabled to request their respective proxy supernodes to update the already existing network connection to support WebSocket communication channels. Accordingly, the respective proxy supernodes are enabled to update the network connection with the exit proxy servers to support WebSocket communication channels. A single instance of a proxy supernode and an exit proxy server can maintain multiple WebSocket communication channels with each other. By utilizing the said WebSocket communication channels, the proxy supernode and the exit proxy servers can exchange data with each other simultaneously without any data losses. Thus, by exchanging data via the said WebSocket communication channels, the proxy supernodes and the exit proxy servers are aimed at servicing the proxy clients in processing their data requests.
Systems and methods to manage and regulate the requests of multiple proxy clients are disclosed. In one aspect, the system and methods disclosed herein aids in configuring proxy server(s) with a rate-limit functionality. Configuration of the rate-limit functionality may be realized by, but not limited to, installing configuration file(s) and/or software application(s) on the proxy server(s). The configuration provides information about the list of restricted and unrestricted domains and their respective request limit specification in a given time frame. Therefore, each time before a proxy server forwards the clients' requests to a target domain, the proxy server checks and ensures that the request count to the particular target domain is well within the limit specified in the request limit specification. Thus, the embodiments described herein aid in preventing the IP addresses of proxy service providers from being blocked or denied from the target websites.
Systems and methods to manage and regulate the requests of multiple proxy clients are disclosed. In one aspect, the system and methods disclosed herein aids in configuring proxy server(s) with a rate-limit functionality. Configuration of the rate-limit functionality may be realized by, but not limited to, installing configuration file(s) and/or software application(s) on the proxy server(s). The configuration provides information about the list of restricted and unrestricted domains and their respective request limit specification in a given time frame. Therefore, each time before a proxy server forwards the clients' requests to a target domain, the proxy server checks and ensures that the request count to the particular target domain is well within the limit specified in the request limit specification. Thus, the embodiments described herein aid in preventing the IP addresses of proxy service providers from being blocked or denied from the target websites.
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
The current application discloses processor-implemented methods and systems of processing unclassified HTML responses collected in the context of a data collection service, the method comprising, in one embodiment, receiving unclassified HTML documents, isolating elements relevant for category identification, deriving classification attributes from the isolated elements, and applying a Machine Learning-based classification model resulting in HTML data items classified and labelled accordingly. In certain embodiments the Machine Learning model may be a model trained on a pre-created training data set labeled manually or in an automatic fashion.
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Systems and methods that allow examination of response data collected from content providers and provide for classification and routing according to the classification. The process of classification employs an unsupervised, or partially unsupervised, Machine Learning classifier model for identifying data collection responses that contains no data, mangled data, or a block, for assigning a classification correspondingly and for feeding the classification decision back to a data collection platform.
G06F 18/2411 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
G06F 18/2415 - Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
G06F 18/243 - Classification techniques relating to the number of classes
G06N 3/044 - Recurrent networks, e.g. Hopfield networks
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
ADVANCED RESPONSE PROCESSING IN WEB DATA COLLECTION discloses processor-implemented apparatuses, methods, and systems of processing unstructured raw HTML responses collected in the context of a data collection service, the method comprising, in one embodiment, receiving raw unstructured HTML documents and extracting text data with associated meta information that may comprise style and formatting information. In some embodiments data field tags and values may be assigned to the text blocks extracted, classifying the data based on the processing of Machine Learning algorithms. Additionally, blocks of extracted data may be grouped and re-grouped together and presented as a single data point. In another embodiment the system may aggregate and present the text data with the associated meta information in a structured format. In certain embodiments the Machine Learning model may be a model trained on a pre-created training data set labeled manually or in an automatic fashion.
G06K 9/62 - Methods or arrangements for recognition using electronic means
G06V 10/46 - Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]Salient regional features
56.
ADVANCED RESPONSE PROCESSING IN WEB DATA COLLECTION
Advanced response processing in web data collection discloses processor-implemented apparatuses, methods, and systems of processing unstructured raw HTML responses collected in the context of a data collection service, the method comprising, in one embodiment, receiving raw unstructured HTML documents and extracting text data with associated meta information that may comprise style and formatting information. In some embodiments data field tags and values may be assigned to the text blocks extracted, classifying the data based on the processing of Machine Learning algorithms. Additionally, blocks of extracted data may be grouped and re-grouped together and presented as a single data point. In another embodiment the system may aggregate and present the text data with the associated meta information in a structured format. In certain embodiments the Machine Learning model may be a model trained on a pre-created training data set labeled manually or in an automatic fashion.
In one aspect, methods and systems for producing an index of a target website are described. In another aspect, methods and systems for extracting specific information from one or more specific indexed URLs are described. The method and system for producing an index of a target website include receiving and analyzing a client's specifications for the index, accessing a target website, extracting the relevant information from the target website, parsing the extracted information in order to identify the URLs, producing the index containing the identified URLs, storing the index (which contains the list of indexed URLs) in a database, compiling the index (which contains the list of indexed URLs) into different formats requested by the client and providing the client, the access information for accessing the compiled index.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Systems and methods to manage and regulate the requests of multiple proxy clients are disclosed. In one aspect, the system and methods disclosed herein aids in configuring proxy server(s) with a rate-limit functionality. Configuration of the rate-limit functionality may be realized by, but not limited to, installing configuration file(s) and/or software application(s) on the proxy server(s). The configuration provides information about the list of restricted and unrestricted domains and their respective request limit specification in a given time frame. Therefore, each time before a proxy server forwards the clients' requests to a target domain, the proxy server checks and ensures that the request count to the particular target domain is well within the limit specified in the request limit specification. Thus, the embodiments described herein aid in preventing the IP addresses of proxy service providers from being blocked or denied from the target websites.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Traffic services for network addresses may be provided within threads executing within a main process for managing the traffic services. The threads may share resources within the main process, reducing the computing resources consumed to provide traffic services to large pools of network addresses. According to one embodiment, a method may include executing a main process for managing traffic services; determining, by the main process, a configuration specifying at least one or more destination addresses; instantiating, by the main process, one or more traffic service (TS) threads for the one or more destination addresses; and/or processing, by the one or more traffic service (TS) threads, inbound traffic for the corresponding one or more destination addresses. Other aspects and embodiments for traffic management are also disclosed.
Systems and methods for effectively managing exit nodes are provided. The exemplary systems and methods use a Supernode to examine an Exit Node through sending and receiving a request to a Target. Information about the exit node is then stored into the Supernode. According to the information provided from the Supernode, the Exit Nodes Database systemizes the proxies according to availability and provides available exit nodes to a User Device.
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Systems and methods that allow examination of response data collected from content providers and provide for classification and routing according to the classification. The process of classification employs an unsupervised, or partially unsupervised, Machine Learning classifier model for identifying data collection responses that contains no data, mangled data, or a block, for assigning a classification correspondingly and for feeding the classification decision back to a data collection platform.
G06F 21/57 - Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
A system and method of forming proxy server pools is provided. The method comprises several steps, such as requesting a pool to execute the user's request and retrieving an initial group. The system checks the service history of an initial group, including whether any of the proxy servers in an initial group are exclusive to existing pools. The exclusive proxy servers in an initial group with eligible proxy servers are replaced when needed and new proxy server pools are formed. The system also records the service history of proxy servers and pools before and after the pools are created. The method can also involve predicting the pool health in relation with the thresholds foreseen and replacing the proxy servers below the threshold.
Systems and methods herein provide for a proxy infrastructure. In the proxy infrastructure, a network element (e.g., a supernode) is connected with a plurality of exit nodes. At one of a plurality of messenger units of the proxy infrastructure, a proxy protocol request is received directly from a client computing device. The proxy protocol request specifies a request and a target. In response the proxy protocol request, a selection is made between one between one of the plurality of exit nodes. A message with the request is sent from the messenger to the supernode connected with the selected exit node. Finally, the message is sent from the supernode to the selected exit node to forward the request to the target.
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
H04L 67/02 - Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
H04L 67/289 - Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
H04L 67/2895 - Intermediate processing functionally located close to the data provider application, e.g. reverse proxies
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 67/561 - Adding application-functional data or data for application control, e.g. adding metadata
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Systems and methods to manage and efficiently perform authorization of multiple proxy clients are disclosed. Furthermore, systems and methods to measure and check whether the web traffic of one or more client devices has reached a permissible limit of web traffic assigned by the proxy service provider. Specifically, a proxy is configured to gather and save authorization information of one or more clients within its memory. Therefore, the proxy server can verify and authorize one or more clients by utilizing the data from its memory. Furthermore, the proxy is configured to measure and report the utilized web traffic of one or more client devices to a messaging platform. In another aspect, systems and methods to check whether one or more client devices have reached a permissible amount of web traffic limit are disclosed.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a more complex request for a web crawler to be defined in order to receive more specific data. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include the following steps: checking the parameters of a request received from a User's Device, adjusting the request parameters according to pre-established Scraping logic, selecting a Proxy according to the criteria of the pre-established Scraping logic, sending the adjusted request to the Target through the selected Proxy, checking metadata received from the Target, and forwarding the data to the User's device.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Systems and methods for effectively managing exit nodes are provided. The exemplary systems and methods use a Supernode to examine an Exit Node through sending and receiving a request to a Target. Information about the exit node is then stored into the Supernode. According to the information provided from the Supernode, the Exit Nodes Database systemizes the proxies according to availability and provides available exit nodes to a User Device.
ADVANCED RESPONSE PROCESSING IN WEB DATA COLLECTION discloses processor-implemented apparatuses, methods, and systems of processing unstructured raw HTML responses collected in the context of a data collection service, the method comprising, in one embodiment, receiving raw unstructured HTML documents and extracting text data with associated meta information that may comprise style and formatting information. In some embodiments data field tags and values may be assigned to the text blocks extracted, classifying the data based on the processing of Machine Learning algorithms. Additionally, blocks of extracted data may be grouped and re-grouped together and presented as a single data point. In another embodiment the system may aggregate and present the text data with the associated meta information in a structured format. In certain embodiments the Machine Learning model may be a model trained on a pre-created training data set labeled manually or in an automatic fashion.
G06F 16/953 - Querying, e.g. by the use of web search engines
G06K 9/62 - Methods or arrangements for recognition using electronic means
G06V 10/46 - Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]Salient regional features
77.
Methods and systems for implementing a regionally contiguous proxy service
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
H04L 61/4511 - Network directoriesName-to-address mapping using standardised directoriesNetwork directoriesName-to-address mapping using standardised directory access protocols using domain name system [DNS]
Systems and methods to manage and regulate the requests of multiple proxy clients are disclosed. In one aspect, the system and methods disclosed herein aids in configuring proxy server(s) with a rate-limit functionality. Configuration of the rate-limit functionality may be realized by, but not limited to, installing configuration file(s) and/or software application(s) on the proxy server(s). The configuration provides information about the list of restricted and unrestricted domains and their respective request limit specification in a given time frame. Therefore, each time before a proxy server forwards the clients' requests to a target domain, the proxy server checks and ensures that the request count to the particular target domain is well within the limit specified in the request limit specification. Thus, the embodiments described herein aid in preventing the IP addresses of proxy service providers from being blocked or denied from the target websites.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
A system and method of forming proxy server pools is provided. The method comprises several steps, such as requesting a pool to execute the user's request and retrieving an initial group. The system checks the service history of an initial group, including whether any of the proxy servers in an initial group are exclusive to existing pools. The exclusive proxy servers in an initial group with eligible proxy servers are replaced when needed and new proxy server pools are formed. The system also records the service history of proxy servers and pools before and after the pools are created. The method can also involve predicting the pool health in relation with the thresholds foreseen and replacing the proxy servers below the threshold.
Systems and methods to intelligently optimize data collection requests are disclosed. In one embodiment, systems are configured to identify and select a complete set of suitable parameters to execute the data collection requests. In another embodiment, systems are configured to identify and select a partial set of suitable parameters to execute the data collection requests. The present embodiments can implement machine learning algorithms to identify and select the suitable parameters according to the nature of the data collection requests and the targets. Moreover, the embodiments provide systems and methods to generate feedback data based upon the effectiveness of the data collection parameters. Furthermore, the embodiments provide systems and methods to score the set of suitable parameters based on the feedback data and the overall cost, which are then stored in an internal database.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a request for a web crawler to be enriched with a customized browsing profile in order to be categorized as an organic human user to obtain targeted content. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include at least some of the following exemplary steps: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request, and forwarding the data to the User's device pursuant to the examination of the response obtained from the Target system.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Systems and methods to manage and regulate the requests of multiple proxy clients are disclosed. In one aspect, the system and methods disclosed herein aids in configuring proxy server(s) with a rate-limit functionality. Configuration of the rate-limit functionality may be realized by, but not limited to, installing configuration file(s) and/or software application(s) on the proxy server(s). The configuration provides information about the list of restricted and unrestricted domains and their respective request limit specification in a given time frame. Therefore, each time before a proxy server forwards the clients' requests to a target domain, the proxy server checks and ensures that the request count to the particular target domain is well within the limit specified in the request limit specification. Thus, the embodiments described herein aid in preventing the IP addresses of proxy service providers from being blocked or denied from the target websites.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a request for a web crawler to be enriched with a customized browsing profile in order to be categorized as an organic human user to obtain targeted content. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include at least some of the following exemplary steps: receiving and examining the parameters of a request received from a User's Device, enriching the request parameters with a pre-established browsing profile, sending the enriched request to a Target through the selected Proxy, receiving a response from the Target, dissecting the response's metadata that is appropriate for updating the browsing profile utilized for the request, and forwarding the data to the User's device pursuant to the examination of the response obtained from the Target system.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a more complex request for a web crawler to be defined in order to receive more specific data. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include the following steps: checking the parameters of a request received from a User's Device, adjusting the request parameters according to pre- established Scraping logic, selecting a Proxy according to the criteria of the pre-established Scraping logic, sending the adjusted request to the Target through the selected Proxy, checking metadata received from the Target, and forwarding the data to the User's device.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a more complex request for a web crawler to be defined in order to receive more specific data. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include the following steps: checking the parameters of a request received from a User's Device, adjusting the request parameters according to pre-established Scraping logic, selecting a Proxy according to the criteria of the pre-established Scraping logic, sending the adjusted request to the Target through the selected Proxy, checking metadata received from the Target, and forwarding the data to the User's device.
A system and method of forming proxy server pools is provided. The method comprises several steps, such as requesting a pool to execute the user's request and retrieving an initial group. The system checks the service history of an initial group, including whether any of the proxy servers in an initial group are exclusive to existing pools. The exclusive proxy servers in an initial group with eligible proxy servers are replaced when needed and new proxy server pools are formed. The system also records the service history of proxy servers and pools before and after the pools are created. The method can also involve predicting the pool health in relation with the thresholds foreseen and replacing the proxy servers below the threshold.
A system and method of forming proxy server pools is provided. The method comprises several steps, such as requesting a pool to execute the user's request and retrieving an initial group. The system checks the service history of an initial group, including whether any of the proxy servers in an initial group are exclusive to existing pools. The exclusive proxy servers in an initial group with eligible proxy servers are replaced when needed and new proxy server pools are formed. The system also records the service history of proxy servers and pools before and after the pools are created. The method can also involve predicting the pool health in relation with the thresholds foreseen and replacing the proxy servers below the threshold.
Systems and methods for effectively managing exit nodes are provided. The exemplary systems and methods use a Supernode to examine an Exit Node through sending and receiving a request to a Target. Information about the exit node is then stored into the Supernode. According to the information provided from the Supernode, the Exit Nodes Database systemizes the proxies according to availability and provides available exit nodes to a User Device.
Systems and methods for effectively managing exit nodes are provided. The exemplary systems and methods use a Supernode to examine an Exit Node through sending and receiving a request to a Target. Information about the exit node is then stored into the Supernode. According to the information provided from the Supernode, the Exit Nodes Database systemizes the proxies according to availability and provides available exit nodes to a User Device.
System and method for efficiently implementing scalable, highly efficient decentralized proxy services through proxy infrastructures situated in different geo-locations. In one aspect, the systems and methods enable users from any geographical location to send requests to the geographically closest proxy infrastructure. One exemplary method described allows proxy infrastructures to gather, classify, and store metadata of exit nodes in its internal database. In another aspect, systems and methods described herein enable proxy infrastructures to select metadata of exit nodes from its internal database and forward requests from a user device to respective proxy servers or proxy supernodes to which the selected exit nodes are connected.
Embodiments disclose a system that allows for improved generation of web requests for scraping that, because of the nature of the requests and time and manner they are sent out, appear more organic, as in human generated, than conventional automated scraping systems. The system then manages how a client request to scrape a target website is made to the site, masking the request in a manner that makes it appear to the Web server as if the request is not generated by an automated system. In this way, by appearing more organic, Web servers may be less likely to block requests from the disclosed system or may take longer to block requests from the disclosed system. By avoiding Web servers blocking requests and extending the lifetime of IP proxies before they are blocked, embodiments can use a limited IP proxy address space more efficiently.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
The method and system detects if proxies are used by a user from a web server's side. The method and system uses HTTP/2 and HTTP/3 protocols and, more precisely, the ping frames to test the round trip time of messages between a web server and a user. At the same time, a web server uses an Internet Control Message Protocol echo requests to measure the round trip time to an IP address. A web server can then compare, aggregate, and analyze different round trip times and determine if they are coming from different sources, i.e. if a user is using a proxy server. A web server can make decisions based on the comparison of round trip times. For example, a difference in a single user's round trip times may trigger a restrictive user policy at the web server's end and a web server can decide to return the requested content, return an error message, or ban them and similarly limit services.
Systems and methods of web crawling/scraping process implementation are extended and target the web crawling process by submitting a request by a last-mile proxy to a web target. The systems and methods allow a request for a web crawler to be directed toward the target content platform through a proxy, or a plurality of proxies, for the purpose of optimizing the processing of the request. In at least one aspect, the systems and methods disclosed mitigate the potential for a negative evaluation of the requests by the content platform targeted through introducing the transfer of the execution of the steps within a scraping flow within the last-mile proxy system, thus aligning both network and application layer responses to the tests described.
Empirical data of exit nodes are continuously monitored and each exit node's overall performance and available capacity are calculated. The empirical data can include monitoring the number of concurrent requests currently being executed by each exit node and the disconnection chronology of each exit node. Further, each exit node is tested by benchmark requests and ping messages and each exit node's quality rate is calculated. Additionally, systems and methods are provided to select an exit node with the highest quality and available capacity value, from a particular pool to route the user request.
Systems and methods of task implementation are extended as provided herein and target the web crawling process through a step of submitting a request by a customer to a web crawler. The systems and methods allow a more complex request for a web crawler to be defined in order to receive more specific data. In one aspect, a method for data extraction and gathering from a Network by a Service provider infrastructure include the following steps: checking the parameters of a request received from a User's Device, adjusting the request parameters according to pre-established Scraping logic, selecting a Proxy according to the criteria of the pre-established Scraping logic, sending the adjusted request to the Target through the selected Proxy, checking metadata received from the Target, and forwarding the data to the User's device.
Systems and methods for effectively managing exit nodes are provided. The exemplary systems and methods use a Supernode to examine an Exit Node through sending and receiving a request to a Target. Information about the exit node is then stored into the Supernode. According to the information provided from the Supernode, the Exit Nodes Database systemizes the proxies according to availability and provides available exit nodes to a User Device.
G06F 15/16 - Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
H04L 29/08 - Transmission control procedure, e.g. data link level control procedure
The task, logic of HTTP/HTTPS session statistics interception and collection is moved to the client side instead of the proxy layer. Encrypted HTTPS tunnel is terminated at the client end, making the actual content or data in transit invisible to both proxies and the smart proxy rotator (SPR). Client's scraping software has a plug-in installed that expands its functionality. HTTP/HTTPS session quality metrics are intercepted and collected at the client side, then sent to the SPR. Proxy usage mark "can be used" is obtained from the SPR for the currently analyzed proxy, based on the results of metrics analysis.