API-metoder
ping
Kontroll av server- och API-drift.
Exempel på begäran
{
"password": "pass",
"action": "ping"
}
Exempel på svar
{
"success": 1,
"data": "pong"
}
oneRequest
En enskild begäran om dataskrapning, valfri scraper och förinställning kan användas. Resultatet blir en sträng formaterad enligt det resultatformat som angetts i förinställningen, samt en fullständig logg över scraperns arbete.
Exempel på begäran
{
"password": "pass",
"action": "oneRequest",
"data": {
"query": "test",
"parser": "SE::Google",
"configPreset": "default",
"preset": "Pages Count use Proxy"
}
}
Beskrivning av möjliga parametrar:
parser- vilken scraper som ska utföra begäranpreset- vilken förinställning som ska användasconfigPreset- vilken trådkonfiguration som ska användasquery- själva sökfråganrawResults- valfri parameter, om den är inställd returneras en matris results med alla resultat som den angivna scrapern stöder, istället för resultatsträngen resultStringneedData- valfri parameter som anger om data och pages ska skickas i svaret, används för att spara minne, inaktiverad som standarddoLog- valfri parameter som anger om arbetsloggen ska returneras tillsammans med resultaten, aktiverad som standardoptions- en matris med ytterligare alternativ som tillämpas på scrapern, till exempel - override - tillåter att värden i förinställningen åsidosätts
Exempel på svar
{
"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"
]
]
}
}
Beskrivning av variabler i svaret:
resultString- resultatstränglogs- matris med loggar för begärans utförande
Åsidosättande av scraper-inställningar
I options kan du åsidosätta alla parametrar för den använda scrapern; de kommer att användas ovanpå de värden som anges i inställningsförinställningen.
Exempel på begäran:
{
"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
}
]
}
}
Svar:
{
"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
Massbegäran om dataskrapning, valfri scraper och förinställning kan användas, och du kan även ange hur många trådar dataskrapningen ska utföras i. Resultatet blir en formaterad sträng enligt det resultatformat som angetts i förinställningen, samt en fullständig logg över scraperns arbete för varje tråd.
Exempel på begäran
{
"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"
]
}
}
Beskrivning av möjliga variabler i data:
threads- antal trådar för dataskrapningqueries- matris med sökfrågor. Övriga variabler är helt analoga med oneRequest, med undantag förquery
Exempel på svar
{
"success": 1,
"data": {
"logs": {
"0": {
"1": [
[
4,
1614935687,
"SE::Google::0",
"test1"
],
...
[
0,
1614935688,
"Thread complete work"
]
]
},
...log för övriga trådar...
},
"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
},
...resultat för övriga sökfrågor...
]
}
}
addTask
Lägga till en uppgift i kön, alla parametrar är analoga med de som ställs in i gränssnittet för Uppgiftsredigeraren
För att snabbt få en fullständig konfiguration av en uppgift kan du använda Uppgiftsredigeraren, skapa uppgiften och hämta JSON för API-begäran
Exempel på begäran
{
"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": "Länk;Ankare\n",
"resultsAppend": "",
"queryBuilders": [],
"resultsBuilders": [],
"configOverrides": [],
"runTaskOnComplete": null,
"useResultsFileAsQueriesFile": false,
"runTaskOnCompleteConfig": "default",
"toolsJS": "",
"prio": 5,
"removeOnComplete": false,
"callURLOnComplete": "",
"queries": [
"test",
"bla-bla"
]
}
}
Exempel på svar
Svaret innehåller id för den skapade uppgiften.
{
"success": 1,
"data": "697403"
}
Uppgift med sökfrågor från fil
För att sökfrågorna i uppgiften ska hämtas från en fil måste du ange "queriesFrom": "file" och sökvägen(-arna) till sökfrågefilen(-erna) "queriesFile": ["queries1.txt", "queries2.txt"]. I övrigt är allt som i exemplet ovan.
Exempel på begäran
{
"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"
]
}
}
Exempel på svar
{
"success": 1,
"data": "5432"
}
Starta en tidigare sparad uppgift
Du kan starta en förinställning som skapats i förväg via gränssnittet. I detta fall behöver du bara ange sökfrågorna. Du kan också åsidosätta valfri parameter i uppgiften; de kommer att användas ovanpå värdena i förinställningen.
Exempel på begäran
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains"
}
}
Exempel på svar
{
"success": 1,
"data": "5436"
}
Flaggan removeOnRestart
Denna flagga anger att uppgifter kommer att tas bort vid omstart av scrapern.
Exempel på begäran
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains",
"removeOnRestart": 1
}
}
Exempel på svar
{
"success": 1,
"data": "5437"
}
Flaggan removeOnComplete
Denna flagga anger att uppgifter kommer att tas bort efter slutförande.
Exempel på begäran
{
"password": "pass",
"action": "addTask",
"data": {
"queriesFrom": "text",
"queries": [
"google.com",
"yandex.ru"
],
"configPreset": "default",
"preset": "Analyze Domains",
"removeOnComplete": 1
}
}
Exempel på svar
{
"success": 1,
"data": "5438"
}
info
Hämta allmän information om status för A-Parser och hämta en lista över alla tillgängliga scrapers.
Du kan få numret på den aktuella versionen av A-Parser direkt via länken: https://a-parser.com/members/versions
Exempel:
{"lastBetaVersion":"1.2.1484","lastAlphaVersion":"1.2.1484","lastVersion":"1.2.1432"}
Exempel på begäran
{
"password": "pass",
"action": "info"
}
Exempel på svar
{
"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
Hämta inställningar för den angivna scrapern och förinställningen.
Med denna metod kan du få en fullständig lista över parametrar för användning i andra API-begäranden.
Exempel på begäran
{
"password": "pass",
"action": "getParserPreset",
"data": {
"parser": "SE::Google",
"preset": "default"
}
}
Exempel på svar
{
"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
Begäran om en lista över aktiva proxyer. En lista över aktiva proxyer från alla proxycheckers returneras.
Exempel på begäran
{
"password": "pass",
"action": "getProxies"
}
Exempel på svar
{
"success": 1,
"data": {
"127.0.0.1:23486": [
"socks"
],
"127.0.0.1:23140": [
"socks"
],
"127.0.0.1:21971": [
"http"
]
}
}
IP:port för proxyn kommer att anges som matrisens namn. Det första elementet i matrisen är proxytypen, som kan anta 3 värden - http, socks, socks4. Om auktorisering med användarnamn/lösenord anges, kommer det andra och tredje elementet att vara användarnamn och lösenord.
Du kan också hämta en lista över proxyer endast från specifika proxycheckers. För att göra detta måste du dessutom skicka matrisen checkers.
Exempel:
{
"password": "pass",
"action": "getProxies",
"data": {
"checkers": [
"Elite proxies",
"free proxies"
]
}
}
getTaskState
Hämta status för en uppgift via dess id.
Exempel på begäran
{
"password": "pass",
"action": "getTaskState",
"data": {
"taskUid": "181"
}
}
Exempel på svar
{
"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
}
}
}
Svaret returnerar uppgiftens status (status) och dess statistik (state).
Du kan också hämta information om flera uppgifter samtidigt genom att skicka en matris med id:n.
Exempel på begäran
{
"password": "pass",
"action": "getTaskState",
"data": {
"taskUid": [
"22",
"23",
"31"
]
}
}
I detta fall kommer svaret att vara en matris med data för varje uppgift.
Exempel på svar
{
"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
}
},
...data för övriga uppgifter...
]
}
getTaskConf
Hämta uppgiftskonfiguration via dess id.
Exempel på begäran
{
"password": "pass",
"action": "getTaskConf",
"data": {
"taskUid": "181"
}
}
Exempel på svar
Svaret returnerar uppgiftens inställningar, inklusive det resulterande filnamnet.
{
"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
Hämta en länk för att ladda ner resultatet via uppgifts-id. Via den erhållna länken kan filen laddas ner endast en gång, utan auktorisering (en engångstoken används).
Fungerar endast med statiska filnamn och $datefile.format(). För att omvandla ett dynamiskt resultatfilnamn till ett statiskt kan du använda mallflaggans isStaticTemplate()
Exempel på begäran
{
"password": "pass",
"action": "getTaskResultsFile",
"data": {
"taskUid": "181"
}
}
Exempel på svar
{
"success": 1,
"data": "http://127.0.0.1:9091/downloadResults?fileName=Mar-05_13-12-23.txt&token=wbvwlkes"
}
getTasksList
Hämta en lista över aktiva uppgifter. Om du skickar den extra parametern completed: 1 får du en lista över slutförda uppgifter.
Exempel på begäran
{
"password": "pass",
"action": "getTasksList",
"data": {
"completed": "1"
}
}
Exempel på svar
{
"success": 1,
"data": [
"2291",
"2324",
"2331",
"2384",
"2398",
"2434",
"2445",
"3482",
...
]
}
getParserInfo
Visar en lista över alla tillgängliga resultat som den angivna scrapern kan returnera.
Exempel på begäran
{
"password" : "pass",
"action" : "getParserInfo",
"data" : {
"parser" : "SE::Google"
}
}
Exempel på svar
{
"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
Hämta antalet aktiva Yandex-konton.
Exempel på begäran
{
"password": "pass",
"action": "getAccountsCount"
}
Exempel på svar
{
"success": 1,
"data": {
"SE::Yandex": 18
}
}
deleteTaskResultsFile
Borttagning av resultatfil via uppgifts-id.
Exempel på begäran
{
"password": "pass",
"action": "deleteTaskResultsFile",
"data": {
"taskUid": "181"
}
}
Exempel på svar
{
"success": 1
}
changeTaskStatus
Ändring av uppgiftsstatus via dess id. Det finns totalt 4 tillstånd som en uppgift kan försättas i:
- starting - starta uppgiften
- pausing - pausa uppgiften
- stopping - stoppa uppgiften
- deleting - ta bort uppgiften
Exempel på begäran
{
"password": "pass",
"action": "changeTaskStatus",
"data": {
"taskUid": "181",
"toStatus": "deleting"
}
}
Exempel på svar
{
"success": 1
}
changeProxyCheckerState
Ändring av proxycheckerns status (1 - aktiverad / 0 - inaktiverad).
Exempel på begäran
{
"password": "pass",
"action": "changeProxyCheckerState",
"data": {
"checker": "proxychecker name",
"state": 1
}
}
Exempel på svar
{
"success": 1
}
moveTask
Flytta en uppgift i kön via dess id. Möjliga flyttriktningar:
- start - till början av kön
- end - till slutet av kön
- up - en position uppåt
- down - en position nedåt
Exempel på begäran
{
"password": "pass",
"action": "moveTask",
"data": {
"taskUid": "181",
"direction": "start"
}
}
Exempel på svar
{
"success": 1
}
update
Uppdaterar scraperns körbara fil till den senaste tillgängliga versionen. Efter att kommandot skickats kommer A-Parser automatiskt att startas om. API:et returnerar ett framgångssvar efter att den körbara filen har laddats ner och uppdaterats, vilket kan ta 1-3 minuter.
Exempel på begäran
{
"password": "pass",
"action": "update"
}
Exempel på svar
{
"success": 1
}