Présentation de l'API
A-Parser prend en charge la gestion via API, ce qui permet d'intégrer le scraper au sein de systèmes complexes (par exemple SaaS), en utilisant les capacités d'A-Parser à partir d'autres programmes et scripts.
L'API est implémentée sur la base du protocole HTTP et de la sérialisation des données JSON et peut être utilisée à partir de n'importe quel langage de programmation.
- curl
- NodeJS
- Perl
- Python
- PHP
curl http://127.0.0.1:9091/API \
-H 'Content-Type: application/json' \
-d '{"password":"123","action":"ping"}'
Résultat :
{"success":1,"data":"pong"}
const AParserClient = require('a-parser-client');
const AParser = new AParserClient('http://127.0.0.1:9091/API', '123');
AParser.ping()
.then(reply => console.log(reply.data))
.catch(err => console.log(err));
use AParser;
use Data::Dumper;
my $parser = AParser->new('http://127.0.0.1:9091/API', '123');
warn "Ping result:\n", Dumper $parser->ping();
from a_parser import AParser
aparser = AParser('http://127.0.0.1:9091/API', '123')
print(aparser.ping())
require_once 'aparser-api-php-client.php';
$aparser = new Aparser('http://127.0.0.1:9091/API', '123');
echo $aparser->ping();
Exemples d'utilisation
- Appel et traitement de requêtes uniques ou par lots vers n'importe quel scraper, par exemple :
- Obtention d'une liste de liens de Google sur demande
- Traduction de texte via Google Translate / Yandex Translate / DeepL
- Obtention de paramètres par domaine, tels que la date d'enregistrement, le rang Alexa et bien d'autres
- Mise en file des tâches et obtention des résultats
- Gestion de la file des tâches et contrôle de l'état des tâches
- Automatisation du fonctionnement d'une ferme de scrapers
Clients prêts à l'emploi
Pour A-Parser, il existe des clients prêts à l'emploi qui simplifient le travail avec l'API :
NodeJS
Perl
PHP
Python
Formation d'une requête
L'interaction avec A-Parser se fait via le protocole HTTP avec une sérialisation JSON de la requête et de la réponse. Pour effectuer une requête à l'API, il est nécessaire d'exécuter une requête POST à l'adresse :
http://IP-serveur:9091/API
Les en-têtes suivants doivent obligatoirement être transmis :
content-lengthcontent-type: application/json
Une structure sérialisée en JSON est utilisée comme corps de la requête :
{
"password": "pass",
"action": "oneRequest",
"data": {
...
}
}
Où :
password- mot de passe pour A-Parseraction- méthode API appeléedata- paramètres de la requête, spécifiques à chaque type de requête, liste complète et description ici
La réponse sous sa forme générale ressemble à ceci :
{
"success": 1,
"data": "..."
}
Où :
success- succès de la requête API, peut prendre la valeur 1 ou 0data- réponse à la méthode appelée, peut être un scalaire ou un objet, dépend du type de requête
Exemple de code en PHP
Nous recommandons d'utiliser le client pour PHP, ce code sans l'utilisation du client est fourni à titre indicatif :
$aparser = 'http://127.0.0.1:9091/API';
$request = json_encode(array(
'action' => 'oneRequest',
'data' => array (
'parser' => 'SE::Google',
'preset' => 'Pages Count use Proxy',
'query' => 'test'
),
'password' => 'pass'
));
$ch = curl_init($aparser);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($request)));
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: text/plain; charset=UTF-8'));
$response = curl_exec($ch);
curl_close($ch);
$response = json_decode($response, true);
echo $response['data']['resultString'];
Exemple de code en Perl
Nous recommandons d'utiliser le client pour Perl, ce code sans l'utilisation du client est fourni à titre indicatif :
use LWP;
use JSON::XS;
my $aparser = 'http://127.0.0.1:9091/API';
my $request = encode_json {
'action' => 'oneRequest',
'data' => {
'parser' => 'SE::Google',
'preset' => 'Pages Count use Proxy',
'query' => 'test'
},
'password' => 'pass'
};
my $ua = LWP::UserAgent->new();
my $response = $ua->post(
$aparser,
'Content-Type' => 'text/plain; charset=UTF-8',
'Content-Length' => length $request,
'Content' => $request
);
if($response->is_success) {
my $json = decode_json $response->content();
print $json->{'data'}->{'resultString'};
}
else {
warn 'Response fail: ', $response->status_line();
};
Obtention d'une requête API dans l'interface
Pour obtenir une requête complète à l'API dans l'Éditeur de tâches, il existe une fonction Obtenir la requête API. Elle permet d'obtenir le JSON complet pour une utilisation dans la méthode addTask

Redis API
Redis API est un moyen alternatif d'intégrer A-Parser via un serveur Redis, offrant une plus grande flexibilité et performance dans certains scénarios.