Ga naar de hoofdinhoud

Instellingen

A-Parser bevat de volgende instellingsgroepen:

  • Global Settings - de belangrijkste programma-instellingen: taal, wachtwoord, update-parameters, aantal actieve taken
  • Config Presets - instellingen voor threads en deduplicatiemethoden voor taken
  • Parser Presets - de mogelijkheid om elke individuele scraper te configureren
  • Proxy-check instellingen - aantal threads en alle instellingen voor de proxychecker
  • Advanced Settings - optionele instellingen voor gevorderde gebruikers
  • Task presets - het opslaan van taken voor later gebruik

Alle instellingen (behalve algemene en aanvullende) worden opgeslagen in zogenaamde presets - sets van vooraf opgeslagen instellingen, bijvoorbeeld:

  • Verschillende instellingspresets voor de scraper SE::GoogleSE::Google - één voor het scrapen van links met een maximale diepte van 10 pagina's, een andere voor het beoordelen van concurrentie per zoekopdracht, met een diepte van 1 pagina
  • Verschillende presets voor proxychecker-instellingen - apart voor HTTP- en SOCKS-proxy's

Voor alle instellingen bestaat een standaard preset (default), deze kan niet worden gewijzigd; alle wijzigingen moeten worden opgeslagen in presets met nieuwe namen.

Algemene instellingen

Instellingen -> Algemene instellingen
ParameternaamStandaardwaardeBeschrijving
PasswordGeen wachtwoordStel een wachtwoord in voor toegang tot A-Parser
LanguageEnglishInterfacetaal
News & TipsEnglishTaal van nieuws en hints
Enable tipsBepaalt of hints moeten worden weergegeven
Check updatesBepaalt of informatie over de beschikbaarheid van een nieuwe versie moet worden weergegeven in de Statusbalk
Save window sizeBepaalt of de venstergrootte moet worden opgeslagen
Updates channelStableKeuze van updatekanaal (Stabiel, Beta, Alpha)
Tasks per page5Aantal taken per pagina in de Taakwachtrij
Max active tasks1Maximaal aantal actieve taken
Total threads limit10000Algemene thread-limiet in A-Parser. Een taak start niet als de algemene thread-limiet lager is dan het aantal threads in de taak
Dynamic thread limitBepaalt of de Dynamische thread-limiet moet worden gebruikt
CPU cores (task processing)2Ondersteuning voor taakverwerking op verschillende processorkernen (alleen voor Enterprise-licentie). Hieronder gedetailleerder beschreven
CPU cores (result processing)4Meerdere kernen worden alleen gebruikt bij filtering, Resultatenbouwer, Parse custom result (alle licentietypes)
Memory SaverBest speedHiermee kunt u bepalen hoeveel geheugen de scraper mag gebruiken (Best speed / Medium memory usage / Save max memory). Meer informatie...

CPU-kernen (taakverwerking)

Ondersteuning voor taakverwerking op verschillende processorkernen, deze mogelijkheid is alleen beschikbaar voor de Enterprise-licentie

Deze optie versnelt (veelvuldig) de verwerking van meerdere taken in de wachtrij (Settings -> Max active tasks), maar versnelt de uitvoering van een enkele taak niet

Ook is er een intelligente verdeling van taken over de werkkernen geïmplementeerd op basis van de CPU-belasting van elk proces Het aantal gebruikte processorkernen wordt ingesteld in de instellingen, standaard - 2, maximaal - 32

Net als bij threads is het beter om het aantal kernen experimenteel te bepalen; waarden van 2-3 kernen voor quad-core processors, 4-6 voor octa-core, enz. zijn redelijk. Houd er rekening mee dat bij een groot aantal kernen en een hoge belasting een 100% belasting van het hoofdbesturingsproces (aparser/aparser.exe) kan optreden, waarbij een verdere toename van processen voor taakverwerking alleen maar algemene vertraging of instabiele werking zal veroorzaken. Houd er ook rekening mee dat elk taakverwerkingsproces een extra belasting tot 300% kan veroorzaken (d.w.z. 3 kernen tegelijkertijd voor 100% belasten), dit kenmerk houdt verband met de multithreaded garbage collection in de JavaScript v8-engine

Thread-instellingen

De werking van A-Parser is gebaseerd op het principe van multithreading. De scraper voert taken parallel uit in afzonderlijke threads, waarvan het aantal flexibel kan worden gevarieerd afhankelijk van de serverconfiguratie.

Beschrijving van de werking van threads

Laten we eens kijken wat threads in de praktijk betekenen. Stel dat u een rapport over drie maanden moet opstellen.

Optie 1
U kunt eerst het rapport voor de 1e maand opstellen, dan voor de 2e en daarna voor de 3e. Dit is een voorbeeld van single-threaded werk. Taken worden na elkaar opgelost.

Optie 2
Drie boekhouders inhuren die elk een rapport voor één maand opstellen. En vervolgens, na ontvangst van de resultaten van alle drie, een algemeen rapport maken. Dit is een voorbeeld van multithreaded werk. Taken worden tegelijkertijd opgelost.

Zoals uit deze voorbeelden blijkt, maakt multithreading het mogelijk om een taak sneller uit te voeren, maar vereist het tegelijkertijd meer middelen (we hebben 3 boekhouders nodig in plaats van 1). Op dezelfde manier werkt multithreading in A-Parser. Stel dat u informatie van meerdere links moet scrapen:

  • bij één thread zal de applicatie elke site om de beurt scrapen
  • bij het werken in meerdere threads zal elke thread zijn eigen link verwerken en na voltooiing doorgaan naar de volgende onverwerkte in de lijst

Op deze manier zal in de tweede optie de hele taak aanzienlijk sneller worden voltooid, maar dit vereist meer serverbronnen, daarom wordt aanbevolen om de Systeemvereisten te volgen

Thread-instellingen configureren

Het instellen van threads in A-Parser gebeurt afzonderlijk voor elke taak, afhankelijk van de parameters die nodig zijn voor de uitvoering ervan. Standaard zijn er 2 thread-configs beschikbaar: voor 20 en 100 threads, respectievelijk voor default en 100 Threads.

Om bij de instellingen van de geselecteerde config te komen, moet u op het potloodicoon klikken bewerkknop thread-configs , waarna de instellingen worden geopend. Knop thread-config bewerken in de Taak-editor

U kunt ook naar de thread-instellingen gaan via het menu-item: Settings -> Config Presets

Hier kunnen we:

  • een nieuwe config maken met eigen instellingen en deze opslaan onder een eigen naam (knop Nieuwe toevoegen)
  • wijzigingen aanbrengen in een bestaande config door deze te selecteren in de vervolgkeuzelijst (knop Opslaan)
Thread-config instellingen

Aantal threads (Threads count)

Deze parameter bepaalt het aantal threads waarin de taak die met deze config is gestart, zal werken. Het aantal threads kan willekeurig zijn, maar u moet rekening houden met de mogelijkheden van uw server, evenals de beperking van het proxy-abonnement, indien een dergelijke beperking is voorzien. Voor onze proxy's kunt u bijvoorbeeld niet meer opgeven dan het gekozen abonnement.

opmerking

Het is ook belangrijk om te onthouden dat het totale aantal threads in de scraper gelijk is aan de som van de actieve taken en de ingeschakelde proxycheckers met proxy-controle. Bijvoorbeeld, als er één taak met 20 threads en twee taken met elk 100 threads draaien, en er ook één proxychecker actief is waarin de proxy-controle op 15 threads is ingesteld, dan zal de scraper in totaal 20+100+100+15=235 threads gebruiken. Als het proxy-abonnement is berekend op 200 threads, zullen er veel mislukte verzoeken zijn. Om dit te voorkomen, moet u het aantal gebruikte threads verlagen. Schakel bijvoorbeeld de proxy-controle uit (als deze niet nodig is, bespaart dit 15 threads) en verlaag het aantal threads in een van de taken met nog eens 20 threads. Zo moet u voor een van de actieve taken een config van 80 threads maken en de rest laten zoals ze zijn.

Proxycheckers (Proxy Checkers)

Deze parameter biedt de mogelijkheid om een proxychecker met specifieke instellingen te kiezen. Hier kunt u de parameter All kiezen, wat betekent dat alle actieve proxycheckers worden gebruikt, of alleen die welke in de taak moeten worden gebruikt (meerdere selecties mogelijk)

opmerking

Deze instelling maakt het mogelijk om de taak alleen met de benodigde proxycheckers uit te voeren. Het proces voor het instellen van de proxychecker wordt hier behandeld.

Maximum threads per proxy (Max threads per proxy)

Hier wordt het maximale aantal threads ingesteld waarin dezelfde proxy tegelijkertijd zal worden gebruikt. Hiermee kunnen verschillende parameters worden ingesteld, bijvoorbeeld een werking van 1 thread = 1 proxy.

opmerking

Standaard is deze parameter gelijk aan 0, wat deze functie uitschakelt. In de meeste gevallen is dit voldoende. Maar als het nodig is om de belasting op elke proxy te beperken, heeft het zin om de waarde te wijzigen.

Globaal proxy-verbod (Global proxy ban)

Alle taken die met deze optie zijn gestart, hebben een gemeenschappelijke database voor proxy-bans. Het kenmerk van deze parameter is dat de lijst met verbannen proxy's voor elke scraper gemeenschappelijk is voor alle actieve taken.

Bijvoorbeeld, een gebande proxy in SE::GoogleSE::Google in taak 1 zal ook geband zijn voor SE::GoogleSE::Google in taak 2, maar kan tegelijkertijd vrij werken in SE::YandexSE::Yandex in beide taken

Maximum verbindingen per host (Max connections per host)

Deze parameter geeft het maximale aantal verbindingen per host aan, bedoeld om de belasting op de site te verminderen tijdens de gegevensextractie. In feite biedt het opgeven van deze parameter de mogelijkheid om het aantal verzoeken op elk specifiek domein op elk moment te controleren. Het inschakelen van deze parameter is van toepassing op de taak; als u meerdere taken tegelijkertijd uitvoert met dezelfde thread-config, wordt de limiet voor alle taken geteld.

Standaard heeft deze parameter de waarde 0, d.w.z. uitgeschakeld.

Hergebruik proxy tussen pogingen (Reuse proxy between retries)

Deze instelling schakelt de controle op proxy-uniciteit voor elke poging uit, en ook de proxy-ban zal niet werken. Dit betekent op zijn beurt de mogelijkheid om 1 proxy te gebruiken voor alle pogingen.

Het wordt aanbevolen om deze parameter in te schakelen, bijvoorbeeld in gevallen waarin het de bedoeling is om 1 proxy te gebruiken waarbij bij elke verbinding het uitgaande IP-adres verandert.

Proxy-gebruiksstrategie (Proxy strategy)

Hiermee kunt u de strategie voor het kiezen van een proxy beheren bij het gebruik van sessies: de proxy van een succesvol verzoek bewaren voor het volgende verzoek of altijd een willekeurige proxy gebruiken.

Aanbevelingen

In dit artikel zijn alle instellingen behandeld die het mogelijk maken om threads te beheren. Het is vermeldenswaard dat het bij het configureren van de thread-config niet nodig is om alle in het artikel genoemde parameters in te stellen; het is voldoende om alleen die in te stellen die zorgen voor een correct resultaat. Meestal hoeft alleen de Threads count te worden gewijzigd, de overige instellingen kunnen op standaard blijven staan.

Scraper-instellingen

Elke scraper heeft talloze instellingen en maakt het mogelijk om verschillende sets instellingen op te slaan in presets. Het presetsysteem maakt het mogelijk om dezelfde scraper met verschillende instellingen te gebruiken afhankelijk van de situatie, laten we dit bekijken aan de hand van het voorbeeld van de scraper SE::GoogleSE::Google:

  • Aantal pagina's (Pages count): 10

Op deze manier zal de scraper het maximale aantal links verzamelen door alle pagina's van de zoekresultaten te doorlopen.

Preset 2: "Scrapen van concurrentie per zoekopdracht"

  • Aantal pagina's (Pages count): 1
  • Resultaatformaat (Results format): $query: $totalcount\n

In dit geval verkrijgen we het aantal resultaten in de zoekresultaten per zoekopdracht (zoekopdrachtconcurrentie) en voor een hogere snelheid is het voldoende om alleen de eerste pagina te scrapen.

Presets maken

Preset maken

Het maken van een preset begint met het selecteren van de scraper(s) en het bepalen van het resultaat dat moet worden verkregen.

Vervolgens moet u begrijpen wat de invoergegevens voor de geselecteerde scraper zullen zijn; in de bovenstaande schermafbeelding is de scraper SE::GoogleSE::Google geselecteerd, de invoergegevens hiervoor zijn alle regels zoals u die in een browser zou zoeken. U kunt een bestand met zoekopdrachten selecteren of zoekopdrachten invoeren in het tekstveld.

Nu moeten de instellingen worden overschreven (opties kiezen) voor de scraper, deduplicatie toevoegen. U kunt de query-builder gebruiken als u zoekopdrachten moet verwerken. Of gebruik de resultatenbouwer als u de resultaten op een bepaalde manier moet verwerken.

Vervolgens moet u aandacht besteden aan het bewerken van de naam van het resultaatbestand en deze indien nodig naar eigen inzicht wijzigen.

Het laatste punt is de keuze van aanvullende opties, in het bijzonder de optie Do log (Log bijhouden). Zeer nuttig als u de reden van een scraping-fout wilt achterhalen.

Na dit alles moet u de preset opslaan en toevoegen aan de taakwachtrij.

Instellingen overschrijven

Override preset - snelle overschrijving van instellingen voor de scraper; deze optie kan direct in de Taak-editor worden toegevoegd. Met één klik kunnen meerdere parameters worden toegevoegd. In de lijst met instellingen staan de standaardwaarden, en als een optie vetgedrukt is, betekent dit dat deze al is overschreven in de preset.

Instellingen overschrijven voor de scraper

In dit voorbeeld is de optie Pages count (Aantal pagina's) overschreven en ingesteld op 5.

In een taak kan een onbeperkt aantal Override preset opties worden gebruikt, maar als er veel wijzigingen zijn, is het handiger om een nieuwe preset te maken en daarin alle wijzigingen op te slaan.

U kunt de overschrijvingen ook eenvoudig opslaan met de functie Save overrides to preset (Overschrijvingen opslaan). Ze worden opgeslagen als een aparte preset voor de geselecteerde scraper.

Overschreven opties opslaan

Daarna is het in de toekomst voldoende om deze opgeslagen preset uit de lijst te kiezen en te gebruiken.

Selectie van een opgeslagen preset voor een specifieke scraper

Algemene instellingen voor alle scrapers

Elke scraper heeft zijn eigen set instellingen; informatie over de instellingen van elke scraper vindt u in de bijbehorende sectie.

In deze tabel hebben we de algemene instellingen voor alle scrapers weergegeven.

ParameternaamStandaardwaardeBeschrijving
Request retries10Aantal pogingen voor elke zoekopdracht; als een zoekopdracht niet binnen het opgegeven aantal pogingen kan worden uitgevoerd, wordt deze als mislukt beschouwd en overgeslagen
Use proxyBepaalt of proxy's moeten worden gebruikt
Query format$queryZoekopdrachtformaat
Result formatElke scraper heeft zijn eigen waardeResultaatuitvoerformaat
Proxy ban timeElke scraper heeft zijn eigen waardeProxy-bantijd in seconden
Request timeout60Maximale wachttijd voor een verzoek in seconden
Request delay0Vertraging tussen verzoeken in seconden; er kan een willekeurige waarde binnen een bereik worden opgegeven, bijvoorbeeld 10,30 - vertraging van 10 tot 30 seconden
Proxy CheckerAllProxy's van welke checkers moeten worden gebruikt (keuze tussen alle of opsomming van specifieke)

Algemeen voor alle scrapers die via het HTTP-protocol werken

ParameternaamStandaardwaardeBeschrijving
Max body sizeElke scraper heeft zijn eigen waardeMaximale grootte van de resultaatpagina in bytes
Use gzipBepaalt of compressie van het verzonden verkeer moet worden gebruikt
Extra query stringMaakt het mogelijk om extra parameters in de query-string op te geven
opmerking

De standaardinstellingen voor elke scraper kunnen verschillen. Ze worden bewaard in de default preset in de instellingen van elke scraper.

Instellingen voor proxycheckers

Meer informatie over de Instelling van proxycheckers

Aanvullende instellingen

Aanvullende instellingen
  • Regeleinde maakt het mogelijk om te kiezen tussen de Unix- en Windows-variant van regeleinden bij het opslaan van resultaten in een bestand
  • Getalnotatie - bepaalt hoe getallen worden weergegeven in de interface van A-Parser
  • Sjabloonmacro's