API Genel Bakış
A-Parser, API üzerinden yönetimi destekler; bu da A-Parser yeteneklerini diğer program ve betiklerden kullanarak veri kazıyıcıyı karmaşık sistemlerin (örneğin SaaS) bir parçası haline getirmenize olanak tanır.
API, HTTP protokolü ve JSON veri serileştirmesi temelinde uygulanmıştır ve herhangi bir programlama dilinden kullanılabilir.
- curl
- NodeJS
- Perl
- Python
- PHP
curl http://127.0.0.1:9091/API \
-H 'Content-Type: application/json' \
-d '{"password":"123","action":"ping"}'
Sonuç:
{"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();
Kullanım örnekleri
- Herhangi bir veri kazıyıcıya yönelik tekli veya toplu sorguların çağrılması ve işlenmesi, örneğin:
- Sorgu üzerine Google'dan bağlantı listesi alma
- Google Translate/Yandex Çeviri/DeepL aracılığıyla metin çevirisi
- Kayıt tarihi, Alexa sıralaması ve diğer birçok alan adı parametresini alma
- Görevlerin kuyruğa eklenmesi ve sonuçların alınması
- Görev kuyruğunun yönetimi ve görev durumlarının kontrolü
- Veri kazıyıcı çiftliğinin (farm) otomasyonu
Hazır istemciler
A-Parser için API ile çalışmayı kolaylaştıran hazır istemciler mevcuttur:
NodeJS
Perl
PHP
Python
Sorgu oluşturma
A-Parser ile etkileşim, JSON sorgu ve yanıt serileştirmesi ile HTTP protokolü üzerinden gerçekleşir. API'ye bir sorgu gerçekleştirmek için şu adrese bir POST sorgusu yapılması gerekir:
http://IP-sunucusu:9091/API
Aşağıdaki başlıkların (headers) iletilmesi zorunludur:
content-lengthcontent-type: application/json
Sorgu gövdesi olarak JSON serileştirilmiş bir yapı kullanılır:
{
"password": "pass",
"action": "oneRequest",
"data": {
...
}
}
Burada:
password- A-Parser parolasıaction- çağrılan API yöntemidata- her sorgu türü için farklılık gösteren sorgu parametreleri; tam liste ve açıklama burada
Genel yanıt şu şekildedir:
{
"success": 1,
"data": "..."
}
Burada:
success- API sorgusunun başarı durumu, 1 veya 0 değerini alabilirdata- çağrılan yönteme verilen yanıt; sorgu türüne bağlı olarak bir skaler veya nesne olabilir
PHP kod örneği
PHP istemcisini kullanmanızı öneririz; istemci kullanılmadan yazılan bu kod bilgilendirme amaçlıdır:
$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'];
Perl kod örneği
Perl istemcisini kullanmanızı öneririz; istemci kullanılmadan yazılan bu kod bilgilendirme amaçlıdır:
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();
};
Arayüzde API sorgusu alma
Görev Düzenleyici içerisinde, API'ye yönelik tam sorguyu almak için Show API query (API sorgusunu al) işlevi bulunur. Bu işlev yardımıyla, addTask yönteminde kullanmak üzere tam JSON yapısını elde edebilirsiniz.

Redis API
Redis API, A-Parser'ı bir Redis sunucusu üzerinden entegre etmenin alternatif bir yoludur ve bazı senaryolarda daha fazla esneklik ve performans sağlar.
Redis API hakkında daha fazlası