Hoppa till huvudinnehåll

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äran
  • preset - vilken förinställning som ska användas
  • configPreset - vilken trådkonfiguration som ska användas
  • query - själva sökfrågan
  • rawResults - 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 resultString
  • needData - valfri parameter som anger om data och pages ska skickas i svaret, används för att spara minne, inaktiverad som standard
  • doLog - valfri parameter som anger om arbetsloggen ska returneras tillsammans med resultaten, aktiverad som standard
  • options - 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äng
  • logs - 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&nbsp;...",
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 dataskrapning
  • queries - matris med sökfrågor. Övriga variabler är helt analoga med oneRequest, med undantag för query

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&nbsp;...",
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

tips

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.

tips

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.

tips

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).

anteckning

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
}