Zum Hauptinhalt springen

Einstellungen

A-Parser enthält die folgenden Einstellungsgruppen:

  • Global Settings - grundlegende Programmeinstellungen: Sprache, Passwort, Update-Parameter, Anzahl aktiver Aufgaben
  • Threads settings - Einstellungen für Threads und Uniqualisierungsmethoden für Aufgaben
  • Parser settings - Möglichkeit, jeden einzelnen Parser zu konfigurieren
  • Einstellungen der Proxy-Prüfung - Anzahl der Threads und alle Einstellungen für den Proxy-Checker
  • Additional settings - optionale Einstellungen für fortgeschrittene Benutzer
  • Aufgaben-Presets - Speichern von Aufgaben zur späteren Verwendung

Alle Einstellungen (außer den allgemeinen und zusätzlichen) werden in sogenannten Presets gespeichert – Sätzen von vorab gespeicherten Einstellungen, zum Beispiel:

  • Verschiedene Einstellungs-Presets für den Parser SE::GoogleSE::Google - eines für die Datenerfassung von Links mit einer maximalen Tiefe von 10 Seiten à 100 Ergebnissen, ein anderes zur Bewertung des Wettbewerbs für eine Abfrage, Datenerfassungstiefe 1 Seite à 10 Ergebnissen
  • Verschiedene Presets für Proxy-Checker-Einstellungen – separat für HTTP- und SOCKS-Proxys

Für alle Einstellungen gibt es ein Standard-Preset (default), das nicht geändert werden kann; alle Änderungen müssen in Presets mit neuen Namen gespeichert werden.

Allgemeine Einstellungen

Einstellungen -> Allgemeine Einstellungen
ParameternameStandardwertBeschreibung
PasswordKein PasswortPasswort für den Login in A-Parser festlegen
LanguageEnglishOberflächensprache
News and tipsEnglishSprache für News und Tipps
Enable tipsLegt fest, ob Tipps angezeigt werden sollen
Check for updatesLegt fest, ob Informationen über die Verfügbarkeit eines neuen Updates in der Statusleiste angezeigt werden sollen
Save window sizeLegt fest, ob die Fenstergröße gespeichert werden soll
Update channelStableAuswahl des Update-Kanals (Stabil, Beta, Alpha)
Tasks per page5Anzahl der Aufgaben pro Seite in der Aufgabenwarteschlange
Max active tasks1Maximale Anzahl aktiver Aufgaben
Total thread limit10000Gesamtlimit der Threads in A-Parser. Eine Aufgabe wird nicht gestartet, wenn das Gesamtlimit der Threads kleiner als die Anzahl der Threads in der Aufgabe ist
Dynamic thread limitLegt fest, ob das Dynamische Thread-Limit verwendet werden soll
CPU cores (task processing)2Unterstützung für die Aufgabenverarbeitung auf verschiedenen Prozessorkernen (nur für Enterprise-Lizenz). Details siehe unten
CPU cores (result processing)4Mehrere Kerne werden nur bei Filterung, Ergebnis-Builder und Parse Custom Result verwendet (alle Lizenztypen)
Memory SaverBest speedErmöglicht die Festlegung, wie viel Speicher der Parser verwenden darf (Best speed / Medium memory usage / Save max memory). Mehr dazu...

CPU-Kerne (Aufgabenverarbeitung)

Unterstützung für die Verarbeitung von Aufgaben auf verschiedenen Prozessorkernen; diese Funktion ist nur für die Enterprise-Lizenz verfügbar.

Diese Option beschleunigt (um ein Vielfaches) die Verarbeitung mehrerer Aufgaben in der Warteschlange (Settings -> Max active tasks), beschleunigt jedoch nicht die Ausführung einer einzelnen Aufgabe.

Zudem wurde eine intelligente Verteilung der Aufgaben auf die Arbeitskerne basierend auf der CPU-Auslastung jedes Prozesses implementiert. Die Anzahl der verwendeten Prozessorkerne wird in den Einstellungen festgelegt, standardmäßig 2, maximal 32.

Wie bei den Threads ist es am besten, die Anzahl der Kerne experimentell zu ermitteln; sinnvoll sind Werte von 2-3 Kernen für Quad-Core-Prozessoren, 4-6 für Octa-Core-Prozessoren usw. Es ist zu beachten, dass bei einer großen Anzahl von Kernen und hoher Auslastung eine 100%ige Auslastung des Hauptsteuerungsprozesses (aparser/aparser.exe) auftreten kann, bei der eine weitere Erhöhung der Prozesse zur Aufgabenverarbeitung nur zu einer allgemeinen Verlangsamung oder instabilem Betrieb führt. Beachten Sie auch, dass jeder Prozess zur Aufgabenverarbeitung eine zusätzliche Last von bis zu 300% erzeugen kann (d. h. gleichzeitig 3 Kerne zu 100% auslasten), was mit der Multithread-Garbage-Collection in der JavaScript v8-Engine zusammenhängt.

Einstellungen der Threads

Die Arbeit von A-Parser basiert auf dem Prinzip der multithreaded Datenverarbeitung. Der Parser führt Aufgaben parallel in separaten Threads aus, deren Anzahl je nach Serverkonfiguration flexibel variiert werden kann.

Beschreibung der Thread-Funktionsweise

Lassen Sie uns verstehen, was Threads in der Praxis bedeuten. Angenommen, Sie müssen einen Bericht für drei Monate erstellen.

Option 1
Sie können den Bericht zuerst für den 1. Monat, dann für den 2. und danach für den 3. Monat erstellen. Dies ist ein Beispiel für Single-Thread-Arbeit. Die Aufgaben werden nacheinander gelöst.

Option 2
Drei Buchhalter einstellen, die jeweils einen Bericht für einen Monat erstellen. Nach Erhalt der Ergebnisse von allen dreien erstellen Sie dann einen Gesamtbericht. Dies ist ein Beispiel für Multithread-Arbeit. Die Aufgaben werden gleichzeitig gelöst.

Wie aus diesen Beispielen ersichtlich ist, ermöglicht Multithreading eine schnellere Erledigung der Aufgabe, erfordert aber gleichzeitig mehr Ressourcen (wir benötigen 3 Buchhalter statt einem). Ähnlich funktioniert Multithreading auch in A-Parser. Angenommen, Sie müssen Informationen von mehreren Links extrahieren:

  • bei einem Thread wird die Anwendung jede Website nacheinander verarbeiten
  • bei der Arbeit in mehreren Threads wird jeder Thread seinen eigenen Link verarbeiten und nach dessen Abschluss mit dem nächsten unbearbeiteten Link in der Liste fortfahren

Somit wird im zweiten Fall die gesamte Aufgabe deutlich schneller erledigt, erfordert jedoch mehr Serverressourcen, weshalb empfohlen wird, die Systemanforderungen einzuhalten

Thread-Einstellungen

Die Thread-Einstellung in A-Parser erfolgt separat für jede Aufgabe, abhängig von den für ihre Ausführung erforderlichen Parametern. Standardmäßig sind 2 Thread-Konfigurationen verfügbar: für 20 und 100 Threads, entsprechend für default und 100 Threads.

Um zu den Einstellungen der gewählten Konfiguration zu gelangen, müssen Sie auf das Stiftsymbol Schaltfläche Thread-Konfig bearbeiten klicken, woraufhin sich deren Einstellungen öffnen. Button Thread-Konfig bearbeiten im Task-Editor

Sie können auch über den Menüpunkt zu den Thread-Einstellungen gelangen: Settings -> Threads settings

Hier können wir:

  • eine neue Konfiguration mit eigenen Einstellungen erstellen und unter eigenem Namen speichern (Schaltfläche Neu hinzufügen)
  • Änderungen an einer bestehenden Konfiguration vornehmen, indem Sie diese aus der Dropdown-Liste auswählen (Schaltfläche Speichern)
Thread-Konfig-Einstellungen

Anzahl der Threads (Threads count)

Dieser Parameter legt die Anzahl der Threads fest, mit denen eine mit dieser Konfiguration gestartete Aufgabe arbeitet. Die Anzahl der Threads kann beliebig sein, aber Sie müssen die Kapazitäten Ihres Servers sowie die Einschränkungen Ihres Proxy-Tarifs berücksichtigen, falls eine solche Einschränkung vorgesehen ist. Zum Beispiel kann für unsere Proxys nicht mehr als der gewählte Tarif angegeben werden.

Hinweis

Es ist auch wichtig zu bedenken, dass die Gesamtzahl der Threads im Parser der Summe der laufenden Aufgaben und der aktivierten Proxy-Checker mit Proxy-Prüfung entspricht. Wenn zum Beispiel eine Aufgabe mit 20 Threads und zwei Aufgaben mit jeweils 100 Threads laufen, sowie ein Proxy-Checker arbeitet, bei dem die Proxy-Prüfung in 15 Threads aktiviert ist, verwendet der Parser insgesamt 20+100+100+15=235 Threads. Wenn der Proxy-Tarif auf 200 Threads ausgelegt ist, wird es viele fehlgeschlagene Anfragen geben. Um diese zu vermeiden, muss die Anzahl der verwendeten Threads gesenkt werden. Zum Beispiel die Proxy-Prüfung deaktivieren (wenn sie nicht benötigt wird, spart das 15 Threads) und die Anzahl der Threads in einer der Aufgaben um weitere 20 Threads senken. Somit muss für eine der laufenden Aufgaben eine Konfiguration mit 80 Threads erstellt werden, die anderen bleiben wie sie sind

Proxy-Checker (Proxy Checkers)

Dieser Parameter ermöglicht die Auswahl eines Proxy-Checkers mit bestimmten Einstellungen. Hier kann der Parameter All gewählt werden, was die Verwendung aller aktiven Proxy-Checker bedeutet, oder nur diejenigen, die in der Aufgabe verwendet werden sollen (Mehrfachauswahl möglich)

Hinweis

Diese Einstellung ermöglicht es, die Aufgabe nur mit den benötigten Proxy-Checkern zu starten. Der Prozess der Proxy-Checker-Einstellung wird hier beschrieben

Maximale Threads pro Proxy (Max threads per proxy)

Hier wird die maximale Anzahl von Threads festgelegt, in denen derselbe Proxy gleichzeitig verwendet wird. Ermöglicht das Festlegen verschiedener Parameter, zum Beispiel den Betrieb 1 Thread = 1 Proxy.

Hinweis

Standardmäßig ist dieser Parameter auf 0 gesetzt, was diese Funktion deaktiviert. In den meisten Fällen ist dies ausreichend. Wenn jedoch die Last auf jeden Proxy begrenzt werden soll, ist es sinnvoll, den Wert zu ändern

Globaler Proxy-Ban (Global proxy ban)

Alle mit dieser Option gestarteten Aufgaben teilen sich eine gemeinsame Proxy-Ban-Datenbank. Die Besonderheit dieses Parameters ist, dass die Liste der gesperrten Proxys für jeden Parser für alle laufenden Aufgaben gemeinsam gilt.

Zum Beispiel wird ein in SE::GoogleSE::Google in Aufgabe 1 gesperrter Proxy auch für SE::GoogleSE::Google in Aufgabe 2 gesperrt sein, kann aber gleichzeitig problemlos in SE::YandexSE::Yandex in beiden Aufgaben funktionieren

Maximale Verbindungen pro Host (Max connections per host)

Dieser Parameter gibt die maximale Anzahl von Verbindungen pro Host an und dient dazu, die Last auf die Website beim Extrahieren von Informationen zu verringern. Im Wesentlichen ermöglicht die Angabe dieses Parameters die Kontrolle über die Anzahl der gleichzeitigen Anfragen an jede spezifische Domain. Die Aktivierung dieses Parameters gilt für die Aufgabe; wenn mehrere Aufgaben gleichzeitig mit derselben Thread-Konfiguration gestartet werden, wird das Limit für alle Aufgaben berechnet.

Standardmäßig hat dieser Parameter den Wert 0, d.h. er ist deaktiviert.

Proxy-Wiederverwendung zwischen Versuchen (Reuse proxy between retries)

Diese Einstellung deaktiviert die Prüfung auf Proxy-Eindeutigkeit für jeden Versuch, und auch der Proxy-Ban wird nicht funktionieren. Dies bedeutet wiederum die Möglichkeit, 1 Proxy für alle Versuche zu verwenden.

Dieser Parameter wird empfohlen, wenn zum Beispiel geplant ist, 1 Proxy zu verwenden, bei dem sich bei jeder Verbindung die Ausgangs-IP ändert.

Proxy-Strategie (Proxy strategy)

Ermöglicht die Steuerung der Proxy-Auswahlstrategie bei Verwendung von Sitzungen: den Proxy einer erfolgreichen Anfrage für die nächste Anfrage beibehalten oder immer einen zufälligen Proxy verwenden.

Empfehlungen

In diesem Artikel wurden alle Einstellungen behandelt, die die Steuerung von Threads ermöglichen. Es ist anzumerken, dass bei der Konfiguration der Threads nicht unbedingt alle im Artikel genannten Parameter festgelegt werden müssen; es reicht aus, nur diejenigen festzulegen, die ein korrektes Ergebnis gewährleisten. Normalerweise muss nur der Threads count geändert werden, die restlichen Einstellungen können auf den Standardwerten belassen werden.

Parser-Einstellungen

Jeder Parser verfügt über zahlreiche Einstellungen und ermöglicht das Speichern verschiedener Einstellungssätze in Presets. Das Preset-System erlaubt es, denselben Parser je nach Situation mit unterschiedlichen Einstellungen zu verwenden, wie am Beispiel des Parsers SE::GoogleSE::Google zu sehen ist:

  • Seitenanzahl (Pages count): 10
  • Links pro Seite (Links per page): 100

Auf diese Weise sammelt der Parser die maximale Anzahl von Links, indem er alle Seiten der Suchergebnisse durchgeht

Preset 2: "Wettbewerb pro Abfrage extrahieren"

  • Seitenanzahl (Pages count): 1
  • Links pro Seite (Links per page): 10
  • Ergebnisformat (Results format): $query: $totalcount\n

In diesem Fall erhalten wir die Anzahl der Suchergebnisse für die Abfrage (Abfragewettbewerb), und für eine höhere Geschwindigkeit reicht es uns aus, nur die erste Seite mit einer minimalen Anzahl von Links zu erfassen

Erstellung von Presets

Preset-Erstellung

Die Erstellung eines Presets beginnt mit der Auswahl des Parsers/der Parser und der Festlegung des gewünschten Ergebnisses.

Als Nächstes muss verstanden werden, was die Eingabedaten für den gewählten Parser sein werden. Im obigen Screenshot ist der Parser SE::GoogleSE::Google ausgewählt; seine Eingabedaten sind beliebige Zeichenfolgen, so als ob Sie etwas im Browser suchen würden. Sie können eine Abfragedatei auswählen oder Abfragen in das Textfeld eingeben.

Nun müssen die Einstellungen für den Parser überschrieben (Optionen ausgewählt) und die Deduplizierung der Ergebnisse hinzugefügt werden. Sie können den Abfrage-Builder verwenden, wenn Abfragen verarbeitet werden müssen, oder den Ergebnis-Builder, wenn Ergebnisse in irgendeiner Weise verarbeitet werden sollen.

Danach sollte die Bearbeitung des Dateinamens der Ergebnisse beachtet und dieser bei Bedarf nach eigenem Ermessen geändert werden.

Der letzte Punkt ist die Auswahl zusätzlicher Optionen, insbesondere die Option Enable log (Log führen). Sehr nützlich, wenn Sie die Ursache eines Fehlers bei der Datenerfassung erfahren möchten.

Nach all dem muss das Preset gespeichert und zur Aufgabenwarteschlange hinzugefügt werden.

Überschreiben von Einstellungen

Override preset - schnelles Überschreiben von Einstellungen für den Parser; diese Option kann direkt im Task-Editor hinzugefügt werden. Mit einem Klick können mehrere Parameter hinzugefügt werden. In der Einstellungsliste sind Standardwerte angegeben, und wenn eine Option fett markiert ist, bedeutet dies, dass sie bereits im Preset überschrieben wurde

Einstellungen für den Parser überschreiben

In diesem Beispiel wurden zwei Optionen überschrieben: Pages count (Seitenanzahl) wurde auf 5 gesetzt und Links per page (Links pro Seite) wurde der Wert 100 zugewiesen.

In einer Aufgabe kann eine unbegrenzte Anzahl von Override preset-Optionen verwendet werden, aber bei vielen Änderungen ist es bequemer, ein neues Preset zu erstellen und alle Änderungen darin zu speichern.

Zudem lassen sich Überschreibungen leicht mit der Funktion Save overrides to preset (Überschreibungen speichern) sichern. Sie werden als separates Preset für den gewählten Parser gespeichert.

Überschriebene Optionen speichern

Danach reicht es in Zukunft aus, dieses gespeicherte Preset einfach aus der Liste auszuwählen und zu verwenden.

Auswahl eines gespeicherten Presets für einen spezifischen Parser

Allgemeine Einstellungen für alle Parser

Jeder Parser hat seinen eigenen Satz an Einstellungen. Informationen zu den Einstellungen jedes Parsers finden Sie im entsprechenden Abschnitt

In dieser Tabelle haben wir die allgemeinen Einstellungen für alle Parser zusammengestellt

ParameternameStandardwertBeschreibung
Request retries10Anzahl der Versuche für jede Anfrage; wenn die Anfrage nicht innerhalb der angegebenen Anzahl an Versuchen erfolgreich ist, gilt sie als fehlgeschlagen und wird übersprungen
Use proxyLegt fest, ob Proxys verwendet werden sollen
Query format$queryAnfrageformat
Result formatJeder Parser hat seinen eigenen WertFormat der Ergebnisausgabe
Proxy ban timeJeder Parser hat seinen eigenen WertDauer des Proxy-Bans in Sekunden
Request timeout60Maximale Wartezeit für eine Anfrage in Sekunden
Request delay0Verzögerung zwischen Anfragen in Sekunden; es kann ein Zufallswert in einem Bereich angegeben werden, z. B. 10,30 - Verzögerung von 10 bis 30 Sekunden
Proxy CheckerAllProxys von welchen Checkern verwendet werden sollen (Wahl zwischen allen oder Auflistung spezifischer)

Allgemein für alle Parser, die über das HTTP-Protokoll arbeiten

ParameternameStandardwertBeschreibung
Max body sizeJeder Parser hat seinen eigenen WertMaximale Größe der Ergebnisseite in Bytes
Use gzipLegt fest, ob Komprimierung für den übertragenen Traffic verwendet werden soll
Extra query stringErmöglicht die Angabe zusätzlicher Parameter im Query-String
Hinweis

Die Standardeinstellungen für jeden Parser können variieren. Sie sind im Preset default in den Einstellungen jedes Parsers gespeichert.

Proxy-Checker-Einstellungen

Mehr über die Einstellung von Proxy-Checkern

Zusätzliche Einstellungen

Zusätzliche Einstellungen
  • Zeilenumbruch ermöglicht die Wahl zwischen Unix- und Windows-Varianten der Zeilenenden beim Speichern der Ergebnisse in eine Datei
  • Zahlenformat - legt fest, wie Zahlen in der Benutzeroberfläche von A-Parser angezeigt werden
  • Vorlagen-Makros