Descripción general de la API
A-Parser admite el control a través de API, lo que permite integrar el extractor en sistemas complejos (por ejemplo, SaaS), utilizando las capacidades de A-Parser desde otros programas y scripts.
La API está implementada en base al protocolo HTTP y la serialización de datos JSON, y puede utilizarse desde cualquier lenguaje de programación.
- curl
- NodeJS
- Perl
- Python
- PHP
curl http://127.0.0.1:9091/API \
-H 'Content-Type: application/json' \
-d '{"password":"123","action":"ping"}'
Resultado:
{"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();
Ejemplos de uso
- Llamada y procesamiento de consultas individuales o por lotes a cualquiera de los extractores, por ejemplo:
- Obtención de una lista de enlaces de Google por consulta
- Traducción de texto a través del traductor Google Translate/Yandex Translate/DeepL
- Obtención de parámetros por dominio, tales como fecha de registro, rango de Alexa y muchos otros
- Colocación de tareas en la cola y obtención de resultados
- Gestión de la cola de tareas y control del estado de las tareas
- Automatización del trabajo de una granja de extractores
Clientes listos para usar
Para A-Parser existen clientes listos para usar que simplifican el trabajo con la API:
NodeJS
Perl
PHP
Python
Formación de una consulta
La interacción con A-Parser se realiza mediante el protocolo HTTP con serialización JSON de la consulta y la respuesta. Para realizar una consulta a la API, es necesario ejecutar una solicitud POST a la dirección:
http://IP-del-servidor:9091/API
Deben enviarse obligatoriamente los encabezados:
content-lengthcontent-type: application/json
Como cuerpo de la consulta se utiliza una estructura serializada en JSON:
{
"password": "pass",
"action": "oneRequest",
"data": {
...
}
}
Donde:
password- contraseña de A-Parseraction- método de la API llamadodata- parámetros de la consulta, específicos para cada tipo de solicitud, lista completa y descripción aquí
La respuesta en su forma general se ve así:
{
"success": 1,
"data": "..."
}
Donde:
success- éxito de la consulta a la API, puede tomar el valor 1 o 0data- respuesta al método llamado, puede ser un escalar o un objeto, depende del tipo de consulta
Ejemplo de código en PHP
Recomendamos utilizar el cliente para PHP; este código sin el uso del cliente se proporciona con fines informativos:
$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'];
Ejemplo de código en Perl
Recomendamos utilizar el cliente para Perl; este código sin el uso del cliente se proporciona con fines informativos:
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();
};
Obtención de una consulta API en la interfaz
Para obtener la consulta completa a la API en el Editor de tareas existe la función Obtener consulta API. Con su ayuda se puede obtener el JSON completo para usar en el método addTask

Redis API
Redis API es una forma alternativa de integrar A-Parser a través del servidor Redis, proporcionando mayor flexibilidad y rendimiento en algunos escenarios.
Más información sobre Redis API