In this post, I’d like to demonstrate how to leverage the Dexi.io (CloudScrape) API along with its PHP Client library (also avail in Ruby and C#).
There are basically two parameters to initiate API Client: API Key and Account ID. Run ID or Execution ID are to access corresponding parameters.
API Key
To get access to your CloudScrape account through an API – you firstly need to create an API key(s) in your account settings:
Account ID
Then you move to the API page (click API tab at the left pane) to view and retrieve you Account ID:
Run ID
To fetch the project’s run ID, just open a corresponding run (Projects left-pane tab and unfold scraper in the view). The picture below shows where to get run ID:
Alternatively to a run ID you might fetch execution ID – the result of any executed run.
API libraries
To have Access to the API libraries you again travel to API page and click Client libraries.
To directly download/fork PHP CloudScrape Client visit here. Download CloudScrape.php and put it onto your server. Then create a PHP file in the same directory where CloudScrape.php is put.
Code
Now let’s put the following PHP code into that file in order to leverage CloudScrape Client functionality. Ready to retrieve some data:
<?php header('Content-type: text/plain'); require_once 'CloudScrape.php'; define('CS_API_KEY','Secret API Key'); define('CS_ACCOUNT_ID','Account Key'); $RunId = 'ac78b5c1-c400-45da-b543-315b482696da'; CloudScrape::init(CS_API_KEY, CS_ACCOUNT_ID); echo "Run info:" . PHP_EOL ; $run = CloudScrape::runs()->get($RunId); var_dump($run); echo "Run's all executions (sorted by newest first):"; $limit=120; $offset=0; $execs = CloudScrape::runs()->getExecutions($RunId, $offset, $limit); foreach($execs->rows as $exec) { // for each completed execution we retrieve its data if ($exec->state == 'OK') { print_r($exec) . PHP_EOL . ""; echo "Execution details:" . PHP_EOL ; $e = CloudScrape::executions()->getResult($exec->_id); print_r($e->rows); } }
Sum up
The Dexi.io is the modern web scraping service providing not just point-and-click UI for scrape agents creation but also the REST API in PHP for managing robots, executions and retrieving results. The latter is greatly supported with PHP, Ruby and C# client libraries.