Ir al contenido principal

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 http://127.0.0.1:9091/API \
-H 'Content-Type: application/json' \
-d '{"password":"123","action":"ping"}'

Resultado:

{"success":1,"data":"pong"}

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-length
  • content-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-Parser
  • action - método de la API llamado
  • data - 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 0
  • data - 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

Obtención de la consulta API

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

⏩ Video resumen del trabajo con la API