API-methoden
ping
Controle van de server- en API-werking.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "ping"
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "pong"
}
oneRequest
Een enkel verzoek voor gegevensextractie, waarbij elke scraper en preset kan worden gebruikt. Het resultaat is een regel die is geformatteerd volgens het resultaatformaat dat in de preset is gedefinieerd, evenals een volledig logboek van de scraper-werking.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "oneRequest",
"data": {
"query": "test",
"parser": "SE::Google",
"configPreset": "default",
"preset": "Pages Count use Proxy"
}
}
Beschrijving van mogelijke parameters:
parser- welke scraper moet worden gebruikt om het verzoek uit te voerenpreset- welke preset moet worden gebruiktconfigPreset- welke thread-configuratie moet worden gebruiktquery- de zoekopdracht zelfrawResults- optionele parameter; indien ingesteld, wordt in plaats van de resultaatregel resultString een array results geretourneerd met alle resultaten die de opgegeven scraper ondersteuntneedData- optionele parameter die aangeeft of data en pages in het antwoord moeten worden verzonden; wordt gebruikt om geheugen te besparen, standaard uitgeschakelddoLog- optionele parameter die aangeeft of het werklogboek samen met de resultaten moet worden geretourneerd, standaard ingeschakeldoptions- een array met extra opties die op de scraper worden toegepast, bijvoorbeeld - override - hiermee kunnen waarden in de preset worden overschreven
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"resultString": "test: 6070000000\n",
"logs": [
[
0,
1614933603,
"Parser SE::Google::0 parse query test"
],
[
0,
1614933603,
"Parse page 1"
],
...
[
0,
1614933604,
"Thread complete work"
]
]
}
}
Beschrijving van variabelen in het antwoord:
resultString- de resultaatregellogs- array met logboeken van de uitvoering van het verzoek
Overschrijven van scraper-parameters
In options kunt u alle parameters van de gebruikte scraper overschrijven; deze worden gebruikt bovenop de waarden die in de instellingen-preset zijn opgegeven.
Voorbeeld van een verzoek:
{
"password": "pass",
"action": "oneRequest",
"data": {
"parser": "SE::Google",
"preset": "default",
"query": "test",
"rawResults": 1,
"doLog": 0,
"options": [
{
"value": 1,
"type": "override",
"id": "pagecount"
},
{
"value": 10,
"type": "override",
"id": "linksperpage"
},
{
"type": "override",
"id": "useproxy",
"value": false
}
]
}
}
Antwoord:
{
"success": 1,
"data": {
"logs": [],
"results": [
{
"ads": [],
"success": 1,
"info": {
"success": 1,
"retries": 0,
"stats": {
"success": 1,
"retries": 0,
"proxiesUsed": 0,
"requests": 0,
"queries": 1
}
},
"query": {
"first": "test",
"threadId": "0",
"lvl": 0,
"query": "test",
"queryUid": "0",
"orig": "test",
"prefered_proxy": null
},
"totalcount": "6130000000",
"serp": [
"https://www.test.de/",
"Stiftung Warentest",
"Sichern Sie sich mit der <em>test</em>.de-Flatrate freien Zugriff auf alle <em>Tests</em> und Produktfinder. Mehr erfahren: <em>test</em>.de-Flatrates. <em>Test</em> CO2 ...",
0,
...
],
"related": [
"test <b>speed</b>",
...
],
"detected_geo": "Germany",
"rich": [
"Featured snippet"
],
"misspell": 0,
"resultsCount": 11
}
]
}
}
bulkRequest
Een bulkverzoek voor gegevensextractie, waarbij elke scraper en preset kan worden gebruikt, en waarbij ook het aantal threads voor de extractie kan worden opgegeven. Het resultaat is een geformatteerde regel volgens het resultaatformaat dat in de preset is gedefinieerd, evenals een volledig logboek van de scraper-werking per thread.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "bulkRequest",
"data": {
"parser": "SE::Google",
"preset": "Pages Count no Proxy",
"configPreset": "default",
"threads": 3,
"rawResults": 1,
"queries": [
"test1",
"test2",
"test3",
"test4",
"test5"
]
}
}
Beschrijving van mogelijke variabelen in data:
threads- aantal threads voor gegevensextractiequeries- array van zoekopdrachten. De overige variabelen zijn volledig identiek aan oneRequest, met uitzondering vanquery
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"logs": {
"0": {
"1": [
[
4,
1614935687,
"SE::Google::0",
"test1"
],
...
[
0,
1614935688,
"Thread complete work"
]
]
},
...logboek voor de overige threads...
},
"results": [
{
"ads": [],
"success": 1,
"info": {
"success": 1,
"retries": 0,
"stats": {
"success": 1,
"retries": 0,
"proxiesUsed": 0,
"requests": 0,
"queries": 1
}
},
"query": {
"first": "test1",
"threadId": "0",
"lvl": 0,
"query": "test1",
"queryUid": "0",
"orig": "test1",
"prefered_proxy": null
},
"totalcount": "35800000",
"serp": [
"https://www.test1solutions.com/",
"FoamFlex200 | Oil Spill Absorbent | Oil Disaster solution",
"<em>TEST1</em> IS SOLUTION. In addition to the different models ...",
0,
...
],
"related": [
"<b>test2</b>",
...
],
"detected_geo": "Germany",
"rich": [
"Featured snippet",
"People also ask"
],
"misspell": 0,
"resultsCount": 12
},
...resultaten voor de overige zoekopdrachten...
]
}
}
addTask
Een taak toevoegen aan de wachtrij; alle parameters zijn identiek aan de parameters die in de interface van de Taakeditor worden ingesteld.
Om snel de volledige configuratie van een taak te verkrijgen, kunt u de Taakeditor gebruiken, de taak samenstellen en de JSON voor het API-verzoek ophalen.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "addTask",
"data": {
"preset": "default",
"configPreset": "100 Threads",
"parsers": [
[
"SE::Bing",
"default",
{
"type": "override",
"id": "pagecount",
"value": 1
},
{
"type": "options",
"id": "parseAll",
"value": true
}
]
],
"resultsFormat": "$p1.serp.format('$link;$anchor\\n')",
"resultsSaveTo": "file",
"resultsFileName": "$datefile.format().csv",
"additionalFormats": [],
"resultsUnique": "string",
"queriesFrom": "text",
"queryFormat": [
"$query"
],
"uniqueQueries": true,
"saveFailedQueries": false,
"iteratorOptions": {
"onAllLevels": false,
"queryBuildersAfterIterator": false,
"queryBuildersOnAllLevels": false
},
"resultsOptions": {
"overwrite": false,
"writeBOM": true
},
"doLog": "db",
"limitLogsCount": "0",
"keepUnique": "No",
"moreOptions": true,
"resultsPrepend": "Link;Anchor\n",
"resultsAppend": "",
"queryBuilders": [],
"resultsBuilders": [],
"configOverrides": [],
"runTaskOnComplete": null,
"useResultsFileAsQueriesFile": false,
"runTaskOnCompleteConfig": "default",
"toolsJS": "",
"prio": 5,
"removeOnComplete": false,
"callURLOnComplete": "",
"queries": [
"test",
"bla-bla"
]
}
}
Voorbeeld van een antwoord
In het antwoord wordt de id van de gemaakte taak geretourneerd.
{
"success": 1,
"data": "697403"
}
Taak met zoekopdrachten uit een bestand
Om ervoor te zorgen dat zoekopdrachten in een taak uit een bestand worden gehaald, moet u "queriesFrom": "file" instellen en het pad (of de paden) naar het bestand (of de bestanden) met zoekopdrachten opgeven via "queriesFile": ["queries1.txt", "queries2.txt"]. Voor het overige is alles hetzelfde als in het bovenstaande voorbeeld.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "addTask",
"data": {
"preset": "default",
"configPreset": "100 Threads",
"parsers": [
[
"SE::Google",
"default"
]
],
"resultsFormat": "$p1.preset",
"resultsSaveTo": "file",
"resultsFileName": "$datefile.format().csv",
"additionalFormats": [],
"resultsUnique": "no",
"queriesFrom": "file",
"queryFormat": [
"$query"
],
"uniqueQueries": false,
"saveFailedQueries": false,
"iteratorOptions": {
"onAllLevels": false,
"queryBuildersAfterIterator": false,
"queryBuildersOnAllLevels": false
},
"resultsOptions": {
"overwrite": false,
"writeBOM": false
},
"doLog": "no",
"limitLogsCount": "0",
"keepUnique": "No",
"moreOptions": false,
"resultsPrepend": "",
"resultsAppend": "",
"queryBuilders": [],
"resultsBuilders": [],
"configOverrides": [],
"runTaskOnComplete": null,
"useResultsFileAsQueriesFile": false,
"runTaskOnCompleteConfig": "default",
"toolsJS": "",
"prio": 5,
"removeOnComplete": false,
"callURLOnComplete": "",
"queriesFile": [
"queries/Text Document.txt"
]
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "5432"
}
Een eerder opgeslagen taak starten
U kunt een preset starten die vooraf via de interface is gemaakt. In dit geval hoeft u alleen de zoekopdrachten op te geven. U kunt ook elke taakparameter overschrijven; deze worden gebruikt bovenop de waarden in de preset.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "5436"
}
Vlag removeOnRestart
Deze vlag geeft aan dat taken worden verwijderd wanneer de scraper opnieuw wordt opgestart.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains",
"removeOnRestart": 1
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "5437"
}
Vlag removeOnComplete
Deze vlag geeft aan dat taken na voltooiing worden verwijderd.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains",
"removeOnComplete": 1
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "5438"
}
info
Algemene informatie ophalen over de status van A-Parser en een lijst van alle beschikbare scrapers opvragen.
Het actuele versienummer van A-Parser kan direct via de link worden verkregen: https://a-parser.com/members/versions
Voorbeeld:
{"lastBetaVersion":"1.2.1484","lastAlphaVersion":"1.2.1484","lastVersion":"1.2.1432"}
Voorbeeld van een verzoek
{
"password": "pass",
"action": "info"
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"tasksInQueue": 0,
"pid": "13968",
"activeProxyCheckerThreads": 0,
"workingTasks": 0,
"activeThreads": 0,
"version": "1.2.1151",
"availableParsers": [
"API::Server::Redis",
"Check::BackLink",
"Check::RosKomNadzor",
"DeepL::Translator",
"GooglePlay::Apps",
"HTML::EmailExtractor",
...
"Util::AntiGate",
"Util::ReCaptcha2",
"Util::YandexRecognize"
]
}
}
getParserPreset
De instellingen van de opgegeven scraper en preset ophalen.
Met deze methode kunt u de volledige lijst met parameters verkrijgen voor gebruik in andere API-verzoeken.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getParserPreset",
"data": {
"parser": "SE::Google",
"preset": "default"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"queryformat": "$query",
"parsenotfound": 1,
"reCaptchaRetries": 3,
"pagecount": 5,
"gl": "",
"proxyChecker": "*",
"hl": "en",
"domain": "www.google.com",
"timeout": 60,
"Util_ReCaptcha2_preset": "default",
"useproxy": 1,
"nfpr": 0,
"extraquery": "",
"serptime": "all",
"location": "",
"usesessions": 1,
"filter": 1,
"linksperpage": 100,
"dontTakeSession": 0,
"addHeaders": "",
"serp": "",
"proxyretries": 10,
"device": "desktop",
"requestdelay": 0,
"debug_nonexists_domains": 0,
"proxybannedcleanup": 600,
"formatresult": "$serp.format('$link\\n')",
"reCaptchaPassProxy": 0,
"lr": ""
}
}
getProxies
Een lijst met actieve proxy's opvragen. Er wordt een lijst met actieve proxy's van alle proxycheckers geretourneerd.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getProxies"
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"127.0.0.1:23486": [
"socks"
],
"127.0.0.1:23140": [
"socks"
],
"127.0.0.1:21971": [
"http"
]
}
}
Het IP:port van de proxy wordt gebruikt als de naam van de array. Het eerste element van de array is het type proxy, dat 3 waarden kan aannemen - http, socks, socks4. Als autorisatie via login/wachtwoord is opgegeven, zijn het tweede en derde element de login en het wachtwoord.
U kunt ook een lijst met proxy's van alleen specifieke proxycheckers ophalen. Hiervoor moet u extra de array checkers meesturen.
Voorbeeld:
{
"password": "pass",
"action": "getProxies",
"data": {
"checkers": [
"Elite proxies",
"free proxies"
]
}
}
getTaskState
De status van een taak ophalen op basis van de id.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getTaskState",
"data": {
"taskUid": "181"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"status": "completed",
"stats": "<b>Overall stats</b><br>Runtime: 0:00:19<br>HTTP requests: 464<br><br><b>1. HTML::LinkExtractor</b><br>Queries done: 254<br>Successful queries: 252<br>Proxies used: 0 (per query)<br>Retries used: 1.07 (per query)<br>HTTP requests: 1.82 (per query)",
"state": {
"totalFail": 2,
"totalWaitProxyThreads": 0,
"minimized": 0,
"queriesDoneCount": 254,
"avgSpeed": 802,
"activeThreads": 0,
"startTime": 1507281122,
"changeTime": 1507281141,
"queriesCount": 1,
"logExists": 0,
"runTime": 19,
"uniqueResultsCount": 656,
"requests": "464",
"addTime": 1507281120,
"additionalCount": 253,
"queriesDoneCountAtStart": 0,
"lastQuery": "https://www.nytimes.com/ref/membercenter/help/infoservdirectory.html",
"curSpeed": 846,
"started": 1,
"resultsCount": 31079
}
}
}
In het antwoord wordt de status van de taak (status) en de statistieken ervan (state) geretourneerd.
U kunt ook informatie over meerdere taken tegelijk ophalen door een array met id's te verzenden.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getTaskState",
"data": {
"taskUid": [
"22",
"23",
"31"
]
}
}
In dit geval bevat het antwoord een array met gegevens voor elke taak.
Voorbeeld van een antwoord
{
"success": 1,
"data": [
{
"status": "completed",
"stats": "<b>Overall stats</b><br>Runtime: 0:00:01<br>HTTP requests: 0<br><br><b>1. SE::Bing</b><br>Queries done: 0<br>Successful queries: 0<br>Proxies used: 0 (per query)<br>Retries used: 0 (per query)<br>HTTP requests: 0 (per query)",
"state": {
"totalFail": 0,
"totalWaitProxyThreads": 0,
"minimized": 0,
"queriesDoneCount": 0,
"avgSpeed": 0,
"activeThreads": 0,
"startTime": 1507023540,
"changeTime": 1507023541,
"queriesCount": 1,
"logExists": 1,
"runTime": 1,
"uniqueResultsCount": 0,
"requests": 0,
"addTime": 1507023443,
"additionalCount": 0,
"queriesDoneCountAtStart": 0,
"lastQuery": "none",
"curSpeed": 0,
"started": 1,
"resultsCount": 0
}
},
...gegevens voor de overige taken...
]
}
getTaskConf
De configuratie van een taak ophalen op basis van de id.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getTaskConf",
"data": {
"taskUid": "181"
}
}
Voorbeeld van een antwoord
In het antwoord worden de taakinstellingen geretourneerd, inclusief de resulterende bestandsnaam.
{
"success": 1,
"data": {
"parsers": [
[
"SE::Bing",
"default",
{
"value": 1,
"type": "override",
"id": "pagecount"
}
]
],
"resultsFileName": "Mar-05_13-12-23.txt",
"runTaskOnComplete": null,
"limitLogsCount": "0",
"resultsPrepend": "",
"origResultsFileName": "$datefile.format().txt",
"queriesFrom": "text",
"runTaskOnCompleteConfig": "default",
"doLog": "db",
"useResultsFileAsQueriesFile": 0,
"additionalFormats": [],
"resultsSaveTo": "file",
"callURLOnComplete": "",
"resultsFormat": "$p1.related.format('$key\\n')",
"queryBuilders": [],
"preset": "default",
"resultsAppend": "",
"uniqueQueries": 0,
"keepUnique": 0,
"prio": "5",
"saveFailedQueries": 0,
"configPreset": "100 Threads",
"queries": [
"test"
],
"toolsJS": "",
"moreOptions": 0,
"resultsBuilders": [],
"resultsUnique": "string",
"iteratorOptions": {
"onAllLevels": 0,
"queryBuildersAfterIterator": 0,
"queryBuildersOnAllLevels": 0
},
"removeOnComplete": 0,
"queryFormat": [
"$query"
],
"configOverrides": [],
"resultsOptions": {
"overwrite": 0,
"writeBOM": 0
}
}
}
getTaskResultsFile
Een link ophalen om het resultaat te downloaden op basis van de taak-id. Via de verkregen link kan het bestand slechts één keer worden gedownload, zonder autorisatie (er wordt een eenmalig token gebruikt).
Werkt alleen met een statische bestandsnaam en $datefile.format(). Om een dynamische bestandsnaam van het resultaat om te zetten in een statische, kunt u de templating-vlag isStaticTemplate() gebruiken.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getTaskResultsFile",
"data": {
"taskUid": "181"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": "http://127.0.0.1:9091/downloadResults?fileName=Mar-05_13-12-23.txt&token=wbvwlkes"
}
getTasksList
Een lijst met actieve taken opvragen. Als u de extra parameter completed: 1 meestuurt, krijgt u een lijst met voltooide taken.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getTasksList",
"data": {
"completed": "1"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": [
"2291",
"2324",
"2331",
"2384",
"2398",
"2434",
"2445",
"3482",
...
]
}
getParserInfo
Toont een lijst van alle beschikbare resultaten die de opgegeven scraper kan retourneren.
Voorbeeld van een verzoek
{
"password" : "pass",
"action" : "getParserInfo",
"data" : {
"parser" : "SE::Google"
}
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"results": {
"arrays": {
"ads": [
"Ads list",
[
[
"link",
"Link"
],
...
]
],
"related": [
"Related keywords",
[
[
"key",
"Key"
]
]
],
"rich": [
"Rich snippets list",
[
[
"name",
"Name"
]
]
],
"serp": [
"Main serp list",
[
[
"link",
"Link"
],
...
]
],
"pages": [
"Raw data array",
[
[
"data",
"Raw data"
]
]
]
},
"flat": [
[
"query",
"Formatted query"
],
...
]
}
}
}
getAccountsCount
Het aantal actieve Yandex-accounts ophalen.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "getAccountsCount"
}
Voorbeeld van een antwoord
{
"success": 1,
"data": {
"SE::Yandex": 18
}
}
deleteTaskResultsFile
Het resultaatbestand verwijderen op basis van de taak-id.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "deleteTaskResultsFile",
"data": {
"taskUid": "181"
}
}
Voorbeeld van een antwoord
{
"success": 1
}
changeTaskStatus
De status van een taak wijzigen op basis van de id. Er zijn in totaal 4 statussen waarnaar een taak kan worden overgezet:
- starting - taak starten
- pausing - taak pauzeren
- stopping - taak stoppen
- deleting - taak verwijderen
Voorbeeld van een verzoek
{
"password": "pass",
"action": "changeTaskStatus",
"data": {
"taskUid": "181",
"toStatus": "deleting"
}
}
Voorbeeld van een antwoord
{
"success": 1
}
changeProxyCheckerState
De status van de proxychecker wijzigen (1 - ingeschakeld / 0 - uitgeschakeld).
Voorbeeld van een verzoek
{
"password": "pass",
"action": "changeProxyCheckerState",
"data": {
"checker": "proxychecker name",
"state": 1
}
}
Voorbeeld van een antwoord
{
"success": 1
}
moveTask
Een taak in de wachtrij verplaatsen op basis van de id. Mogelijke verplaatsingsrichtingen:
- start - naar het begin van de wachtrij
- end - naar het einde van de wachtrij
- up - één positie omhoog
- down - één positie omlaag
Voorbeeld van een verzoek
{
"password": "pass",
"action": "moveTask",
"data": {
"taskUid": "181",
"direction": "start"
}
}
Voorbeeld van een antwoord
{
"success": 1
}
update
Werkt het uitvoerbare bestand van de scraper bij naar de laatst beschikbare versie. Na het verzenden van de opdracht wordt A-Parser automatisch opnieuw opgestart. De API retourneert een succesbericht nadat het uitvoerbare bestand is gedownload en bijgewerkt; dit kan 1-3 minuten duren.
Voorbeeld van een verzoek
{
"password": "pass",
"action": "update"
}
Voorbeeld van een antwoord
{
"success": 1
}