Übersicht
Dieser Leitfaden beschreibt erweiterte Konfigurationen für den Fess-Crawler. Für grundlegende Crawler-Konfigurationen siehe Crawler-Konfiguration: Web-, Dateiserver- und Datenbank-Crawling.
Warnung
Die Einstellungen auf dieser Seite können systemweite Auswirkungen haben. Testen Sie Konfigurationsänderungen gründlich, bevor Sie sie in Produktionsumgebungen anwenden.
Allgemeine Konfiguration
Speicherort der Konfigurationsdateien
Erweiterte Crawler-Konfigurationen werden in folgenden Dateien vorgenommen:
Hauptkonfiguration:
/etc/fess/fess_config.properties(oderapp/WEB-INF/classes/fess_config.properties)Inhaltslängen-Konfiguration:
app/WEB-INF/classes/crawler/contentlength.xmlKomponenten-Konfiguration:
app/WEB-INF/classes/crawler/container.xml
Standard-Skriptsprache
Legt die Standard-Skriptsprache für den Crawler fest.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.default.script | Crawler-Skriptsprache | groovy |
HTTP-Thread-Pool
Thread-Pool-Konfiguration für den HTTP-Crawler.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.http.thread_pool.size | HTTP-Thread-Pool-Größe | 0 |
Dokumentverarbeitungs-Konfiguration
Grundkonfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.max.site.length | Maximale Zeichenlänge des Sitenamenfelds | 100 |
crawler.document.site.encoding | Codierung der Dokumentsite | UTF-8 |
crawler.document.unknown.hostname | Ersatzwert für unbekannte Hostnamen | unknown |
crawler.document.use.site.encoding.on.english | Site-Codierung für englische Dokumente verwenden | false |
crawler.document.append.data | Daten zum Dokument hinzufügen | true |
crawler.document.append.filename | Dateinamen zum Dokument hinzufügen | false |
Konfigurationsbeispiel
Wortverarbeitungs-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.max.alphanum.term.size | Maximale Länge alphanumerischer Wörter | 20 |
crawler.document.max.symbol.term.size | Maximale Länge von Symbol-Wörtern | 10 |
crawler.document.duplicate.term.removed | Entfernung doppelter Wörter | false |
Konfigurationsbeispiel
Bemerkung
Das Erhöhen von max.alphanum.term.size ermöglicht die vollständige Indizierung langer IDs, Tokens, URLs usw., erhöht jedoch die Indexgröße.
Zeichenverarbeitungs-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.space.chars | Definition von Leerzeichen | u0009u000A... |
crawler.document.fullstop.chars | Definition von Satzendzeichen | u002eu06d4... |
Konfigurationsbeispiel
Protokoll-Konfiguration
Unterstützte Protokolle
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.web.protocols | Protokolle für Web-Crawling | http,https |
crawler.file.protocols | Protokolle für Datei-Crawling | file,smb,smb1,ftp,storage,s3,gcs |
crawler.crawling.data.encoding | Kodierung der Crawling-Daten | UTF-8 |
Konfigurationsbeispiel
Umgebungsvariablen-Parameter
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.data.env.param.key.pattern | Muster für Umgebungsvariablen-Parameterschlüssel | ^FESS_ENV_.* |
Daten-Serialisierer
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.data.serializer | Serialisierungsmethode für Crawl-Daten | kryo |
robots.txt-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.ignore.robots.txt | robots.txt ignorieren | false |
crawler.ignore.robots.tags | Robots-Meta-Tags ignorieren | false |
crawler.ignore.content.exception | Inhaltsausnahmen ignorieren | true |
Warnung
Die Einstellung crawler.ignore.robots.txt=true kann gegen Nutzungsbedingungen von Websites verstoßen. Seien Sie vorsichtig beim Crawlen externer Sites.
Fehlerbehandlungs-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.failure.url.status.codes | Als Fehler behandelte HTTP-Statuscodes (kommagetrennt) | 404,403,410 |
Systemüberwachungs-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.system.monitor.interval | Systemüberwachungsintervall (Sekunden) | 60 |
Hot-Thread-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.hotthread.ignore_idle_threads | Leerlaufende Threads ignorieren | true |
crawler.hotthread.interval | Snapshot-Intervall | 500ms |
crawler.hotthread.snapshots | Anzahl Snapshots | 10 |
crawler.hotthread.threads | Anzahl überwachter Threads | 3 |
crawler.hotthread.timeout | Timeout | 30s |
crawler.hotthread.type | Überwachungstyp | cpu |
Konfigurationsbeispiel
Metadaten-Konfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.metadata.content.excludes | Auszuschließende Metadaten | resourceName,X-Parsed-By... |
crawler.metadata.name.mapping | Metadaten-Namen-Mapping | title=title:string... |
HTML-Crawler-Konfiguration
XPath-Konfiguration
XPath-Konfiguration zum Extrahieren von HTML-Elementen.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.html.content.xpath | XPath für Inhalt | //BODY |
crawler.document.html.lang.xpath | XPath für Sprache | //HTML/@lang |
crawler.document.html.digest.xpath | XPath für Digest | //META[@name='description']/@content |
crawler.document.html.canonical.xpath | XPath für kanonische URL | //LINK[@rel='canonical'][1]/@href |
Konfigurationsbeispiel
Beispiele für benutzerdefinierte XPath
HTML-Tag-Verarbeitung
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.html.pruned.tags | Zu entfernende HTML-Tags | noscript,script,style,header,footer,aside,nav,a[rel=nofollow] |
crawler.document.html.max.digest.length | Maximale Digest-Länge | 120 |
crawler.document.html.default.lang | Standardsprache | (leer) |
Konfigurationsbeispiel
URL-Musterfilter
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.html.default.include.index.patterns | In Index einzuschließende URL-Muster | (leer) |
crawler.document.html.default.exclude.index.patterns | Aus Index auszuschließende URL-Muster | (?i).*(css|js|jpeg...) |
crawler.document.html.default.include.search.patterns | In Suchergebnisse einzuschließende URL-Muster | (leer) |
crawler.document.html.default.exclude.search.patterns | Aus Suchergebnissen auszuschließende URL-Muster | (leer) |
Konfigurationsbeispiel
Datei-Crawler-Konfiguration
Grundkonfiguration
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.file.name.encoding | Dateinamen-Codierung | (leer) |
crawler.document.file.no.title.label | Label für Dateien ohne Titel | No title. |
crawler.document.file.ignore.empty.content | Leere Inhalte ignorieren | false |
crawler.document.file.max.title.length | Maximale Titellänge | 100 |
crawler.document.file.max.digest.length | Maximale Digest-Länge | 200 |
Konfigurationsbeispiel
Inhaltsverarbeitung
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.file.append.meta.content | Metadaten zum Inhalt hinzufügen | true |
crawler.document.file.append.body.content | Haupttext zum Inhalt hinzufügen | true |
crawler.document.file.default.lang | Standardsprache | (leer) |
Konfigurationsbeispiel
Datei-URL-Musterfilter
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.file.default.include.index.patterns | In Index einzuschließende Muster | (leer) |
crawler.document.file.default.exclude.index.patterns | Aus Index auszuschließende Muster | (leer) |
crawler.document.file.default.include.search.patterns | In Suchergebnisse einzuschließende Muster | (leer) |
crawler.document.file.default.exclude.search.patterns | Aus Suchergebnissen auszuschließende Muster | (leer) |
Konfigurationsbeispiel
MIME-Typ-Erkennung überschreiben
Standardmäßig verwendet Fess Apache Tika für die inhaltsbasierte MIME-Typ-Erkennung. In einigen Fällen kann die inhaltsbasierte Erkennung falsche Ergebnisse liefern. Beispielsweise können Oracle-SQL-Dateien, die mit REM-Kommentaren beginnen, fälschlicherweise als Batch-Dateien (application/x-bat) erkannt werden, da das Schlüsselwort REM dem Magic-Pattern von Batch-Dateien entspricht.
Die Eigenschaft crawler.document.mimetype.extension.overrides ermöglicht es, die MIME-Typ-Erkennung basierend auf Dateierweiterungen zu überschreiben und die inhaltsbasierte Erkennung für bestimmte Dateitypen zu umgehen.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.mimetype.extension.overrides | Zuordnungen von Erweiterung zu MIME-Typ (eine pro Zeile, Format: .ext=mime/type) | (leer) |
Konfigurationsbeispiel
Jede Zeile enthält eine Zuordnung im Format .Erweiterung=MIME-Typ. Mehrere Zuordnungen werden durch \n (Zeilenumbruch) getrennt. Der Erweiterungsabgleich unterscheidet nicht zwischen Groß- und Kleinschreibung (.SQL und .sql werden gleich behandelt).
Bemerkung
Wenn eine Dateierweiterung einem Eintrag in dieser Zuordnung entspricht, wird der konfigurierte MIME-Typ sofort zurückgegeben, ohne eine inhaltsbasierte Erkennung durchzuführen. Dateien mit Erweiterungen, die nicht in der Zuordnung enthalten sind, verwenden weiterhin die normale Tika-Erkennung.
Cache-Konfiguration
Dokumenten-Cache
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
crawler.document.cache.enabled | Dokumenten-Cache aktivieren | true |
crawler.document.cache.max.size | Maximale Cache-Größe (Bytes) | 2621440 (2,5 MB) |
crawler.document.cache.supported.mimetypes | Zu cachende MIME-Typen | text/html |
crawler.document.cache.html.mimetypes | Als HTML zu behandelnde MIME-Typen | text/html |
Konfigurationsbeispiel
Bemerkung
Bei aktiviertem Cache wird in Suchergebnissen ein Cache-Link angezeigt, über den Benutzer den Inhalt zum Zeitpunkt des Crawlings einsehen können.
JVM-Optionen
Sie können JVM-Optionen für den Crawler-Prozess konfigurieren.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
jvm.crawler.options | JVM-Optionen für Crawler | -Xms128m -Xmx512m... |
Standardkonfiguration
Bemerkung
Oben sind nur die wichtigsten Optionen aufgeführt. Die tatsächlichen Standardwerte umfassen etwa 40 Optionen, darunter jcifs-SMB-Timeouts, Netty-Einstellungen, Log4j-Konfiguration, detaillierte G1GC-Einstellungen, PDFBox-Einstellungen usw. Die vollständigen Standardwerte finden Sie in fess_config.properties. Ändern Sie bei der Anpassung nur die erforderlichen Optionen und behalten Sie die anderen Standardwerte bei.
Erklärung wichtiger Optionen
| Option | Beschreibung |
|---|---|
-Xms128m | Initiale Heap-Größe (128 MB) |
-Xmx512m | Maximale Heap-Größe (512 MB) |
-XX:MaxMetaspaceSize=128m | Maximale Metaspace-Größe (128 MB) |
-XX:+UseG1GC | G1-Garbage-Collector verwenden |
-XX:MaxGCPauseMillis=60000 | Ziel für GC-Pausenzeit (60 Sekunden) |
-XX:-HeapDumpOnOutOfMemoryError | Heap-Dumps bei OutOfMemory deaktivieren |
Beispiele für benutzerdefinierte Konfiguration
Beim Crawlen großer Dateien:
Beim Debuggen:
Details siehe Speicherkonfiguration.
Leistungsoptimierung
Optimierung der Crawl-Geschwindigkeit
1. Thread-Anzahl anpassen
Durch Erhöhung der Anzahl paralleler Crawls kann die Crawl-Geschwindigkeit verbessert werden.
Beachten Sie jedoch die Last auf dem Zielserver.
2. Timeout anpassen
Bei langsamen Sites passen Sie Timeouts an.
3. Unnötige Inhalte ausschließen
Durch Ausschluss von Bildern, CSS, JavaScript-Dateien usw. wird die Crawl-Geschwindigkeit verbessert.
4. Retry-Einstellungen
Die Anzahl der HTTP-Crawl-Wiederholungsversuche (Standard: 5) und das Wiederholungsintervall (Standard: 500 ms) sind fest eingebaut und können nicht über das Feld „Konfigurationsparameter“ einer Crawl-Konfiguration geändert werden. Um die Wartezeit bei nicht reagierenden URLs zu verkürzen, passen Sie die oben beschriebenen Timeouts an oder schließen Sie nicht benötigte URLs aus.
Optimierung der Speichernutzung
1. Heap-Größe anpassen
2. Cache-Größe anpassen
3. Große Dateien ausschließen
Details siehe Speicherkonfiguration.
Verbesserung der Indexqualität
1. XPath optimieren
Schließen Sie unnötige Elemente (Navigation, Werbung usw.) aus.
2. Digest optimieren
3. Metadaten-Mapping
Fehlersuche
Speichermangel
Symptome:
OutOfMemoryErrorinfess_crawler.logaufgezeichnetCrawling stoppt mittendrin
Gegenmaßnahmen:
Crawler-Heap-Größe erhöhen
Anzahl paralleler Threads reduzieren
Große Dateien ausschließen
Details siehe Speicherkonfiguration.
Crawling ist langsam
Symptome:
Crawling dauert zu lange
Häufige Timeouts
Gegenmaßnahmen:
Thread-Anzahl erhöhen (Last auf Zielserver beachten)
Timeouts anpassen
Unnötige URLs ausschließen
Bestimmte Inhalte können nicht extrahiert werden
Symptome:
Seitentext wird nicht korrekt extrahiert
Wichtige Informationen fehlen in Suchergebnissen
Gegenmaßnahmen:
XPath überprüfen und anpassen
Zu entfernende Tags überprüfen
Bei dynamisch durch JavaScript generierten Inhalten alternative Methoden (z. B. API-Crawling) in Betracht ziehen
Zeichenkodierungsprobleme treten auf
Symptome:
Zeichenkodierungsprobleme in Suchergebnissen
Bestimmte Sprachen werden nicht korrekt angezeigt
Gegenmaßnahmen:
Codierungseinstellungen überprüfen
Dateinamen-Codierung konfigurieren
Codierungsfehler im Protokoll überprüfen
Best Practices
In Testumgebung validieren
Validieren Sie gründlich in Testumgebung, bevor Sie in Produktionsumgebung anwenden.
Schrittweise Anpassung
Ändern Sie Konfigurationen nicht auf einmal stark, sondern passen Sie schrittweise an und überprüfen Sie die Wirkung.
Protokolle überwachen
Überwachen Sie nach Konfigurationsänderungen Protokolle auf Fehler oder Leistungsprobleme.
Backup
Erstellen Sie vor Änderung von Konfigurationsdateien unbedingt ein Backup.
Dokumentation
Dokumentieren Sie geänderte Konfigurationen und deren Begründung.
S3/GCS-Crawler-Konfiguration
S3-Crawler
Konfiguration für das Crawlen von S3 und S3-kompatiblem Speicher (wie MinIO). Fügen Sie Folgendes zu „Konfigurationsparameter“ in den Datei-Crawl-Einstellungen hinzu.
| Parameter | Beschreibung | Standard |
|---|---|---|
client.endpoint | S3-Endpunkt-URL | (Erforderlich) |
client.accessKey | Zugriffsschlüssel | (Erforderlich) |
client.secretKey | Geheimer Schlüssel | (Erforderlich) |
client.region | AWS-Region | us-east-1 |
client.maxContentLength | Maximale Größe (Bytes) der abzurufenden Objekte; größere Objekte werden übersprungen | (unbegrenzt) |
client.maxCachedContentSize | Maximale Größe (Bytes), die im Arbeitsspeicher gecacht wird; größere Inhalte werden in einer temporären Datei gespeichert | 1048576 (1MB) |
client.accessTimeout | Zugriffs-Timeout (Sekunden). Deaktiviert, wenn nicht gesetzt | (unbegrenzt) |
Konfigurationsbeispiel
GCS-Crawler
Konfiguration für das Crawlen von Google Cloud Storage. Fügen Sie Folgendes zu „Konfigurationsparameter“ in den Datei-Crawl-Einstellungen hinzu.
| Parameter | Beschreibung | Standard |
|---|---|---|
client.projectId | Google Cloud-Projekt-ID | (Erforderlich) |
client.credentialsFile | Pfad zur Dienstkonto-JSON-Datei | (Optional) |
client.endpoint | Benutzerdefinierter Endpunkt | (Optional) |
client.maxContentLength | Maximale Größe (Bytes) der abzurufenden Objekte; größere Objekte werden übersprungen | (unbegrenzt) |
client.maxCachedContentSize | Maximale Größe (Bytes), die im Arbeitsspeicher gecacht wird; größere Inhalte werden in einer temporären Datei gespeichert | 1048576 (1MB) |
client.accessTimeout | Zugriffs-Timeout (Sekunden). Deaktiviert, wenn nicht gesetzt | (unbegrenzt) |
Konfigurationsbeispiel
Bemerkung
Wenn credentialsFile weggelassen wird, wird die Umgebungsvariable GOOGLE_APPLICATION_CREDENTIALS verwendet.
Crawlen dynamischer Inhalte (Playwright)
Bei Seiten, die per JavaScript gerendert werden (etwa SPAs), erhält der gewöhnliche HTTP-Crawler nur das HTML vor dem Rendern, sodass ihr Fließtext nicht indiziert wird. Der Playwright-Crawler rendert die Seite zunächst in einem Headless-Browser und ruft anschließend den Inhalt ab.
Aktivierung
Fügen Sie Folgendes zu „Konfigurationsparameter“ in einer Web-Crawl-Konfiguration hinzu.
Der Teil nach playwright: ist ein regulärer Ausdruck für die URLs, die mit Playwright abgerufen werden sollen. Im obigen Beispiel wird jede HTTP/HTTPS-URL mit Playwright abgerufen. Um Playwright nur für bestimmte Sites zu verwenden, geben Sie diese wie folgt an.
Bemerkung
Die Browser-Binärdateien von Playwright sind nicht im Fess-Paket enthalten. Sie werden beim ersten Crawl heruntergeladen. Installieren Sie sie daher in einer Umgebung ohne Zugang zu externen Netzwerken vorab als der Betriebssystembenutzer, der den Crawler ausführt.
Konfigurationsparameter
Die folgenden Parameter werden mit dem Präfix client. in „Konfigurationsparameter“ einer Crawl-Konfiguration eingetragen.
| Parameter | Beschreibung | Standard |
|---|---|---|
client.renderedState | Ladezustand, auf den vor dem Abrufen des Inhalts gewartet wird. Geben Sie LOAD, DOMCONTENTLOADED oder NETWORKIDLE in Großbuchstaben an | NETWORKIDLE |
client.renderedStateTimeout | Obergrenze für das Warten auf renderedState (Millisekunden). Bei 0 oder kleiner gilt der Playwright-Standardwert (30000) | 0 |
client.navigationTimeout | Obergrenze für einen Seitenwechsel (Millisekunden). Bei 0 oder kleiner gilt der Playwright-Standardwert (30000) | (nicht gesetzt) |
client.contentWaitDuration | Zusätzliche Wartezeit nach dem Erreichen von renderedState und vor dem Abrufen des Inhalts (Millisekunden) | 0 |
client.sharedClient | Den Playwright-Worker (Browser) für alle Clients gemeinsam nutzen | false |
client.blockedResourceTypes | Ressourcentypen, die der Browser nicht abrufen soll (kommagetrennt) | (leer) |
client.ignoreHttpsErrors | Fehler bei der Überprüfung von HTTPS-Zertifikaten ignorieren | false |
client.proxyBypass | Hosts, die den Proxy umgehen (kommagetrennt) | (leer) |
Konfigurationsbeispiel
Bemerkung
Der User-Agent und die Anfrage-Header, die in der Crawl-Konfiguration konfiguriert sind, werden unverändert verwendet. Gemeinsame Parameter wie client.proxyHost, client.proxyPort und client.maxContentLength werden ebenfalls auf den Browser angewendet.
Bemerkung
Ein Playwright-Client verwendet eine Browser-Seite, und die Anfragen an ihn werden seriell verarbeitet. Eine höhere Thread-Anzahl in der Crawl-Konfiguration beschleunigt den Abruf mit Playwright nicht entsprechend.
Nur in der DI-Definition konfigurierbare Einträge
Die folgenden Einträge können nicht über „Konfigurationsparameter“ geändert werden. Um sie zu ändern, erstellen Sie app/WEB-INF/classes/crawler/client+playwrightClient.xml und definieren die Komponente playwrightClient neu.
| Eigenschaft | Beschreibung | Standard |
|---|---|---|
browserName | Zu verwendender Browser: chromium, firefox oder webkit | chromium |
launchOptions | Startoptionen des Browsers (BrowserType.LaunchOptions) | headless=true |
newContextOptions | Optionen des Browser-Kontexts (Browser.NewContextOptions) | (keine) |
downloadTimeout | Obergrenze für das Warten auf einen Dateidownload (Sekunden) | 15 |
closeTimeout | Obergrenze für das Warten auf das Beenden des Browsers (Sekunden) | 15 |
Konfigurationsbeispiel
Bemerkung
Wenn Sie playwrightClient neu definieren, wird die Komponentendefinition aus der crawler/client++.xml des Plugins vollständig ersetzt. Eigenschaften, die Sie nicht angeben, kehren zu ihren Standardwerten zurück; geben Sie daher wie im obigen Beispiel alle benötigten Eigenschaften an. Kopieren Sie außerdem die crawler/client++.xml nicht einfach an diese Stelle: Dieselbe Komponente wäre dann doppelt registriert und der Start würde fehlschlagen.
Warnung
downloadTimeout und closeTimeout werden in Sekunden angegeben, navigationTimeout, renderedStateTimeout und contentWaitDuration dagegen in Millisekunden. Achten Sie darauf, sie nicht zu verwechseln.
Blockieren unnötiger Ressourcen
client.blockedResourceTypes nimmt eine kommagetrennte Liste der Ressourcentypen entgegen, die der Browser nicht abrufen soll. Zulässig sind die Ressourcentypen von Playwright (stylesheet, image, media, font, script, texttrack, xhr, fetch, eventsource, websocket, manifest, other, ping, cspreport und beacon). Standardmäßig wird nichts blockiert.
image, media, font, ping, beacon und cspreport sind die Typen, die sich gefahrlos angeben lassen. Bei den letzten dreien handelt es sich um Tracker-Verkehr nach Beacon-Art, den nichts auf der Seite zurückliest.
Geben Sie nur Typen an, die ein Crawl nicht liest. Indem weniger der für die Anzeige einer Seite benötigten Ressourcen abgerufen werden, verringern sich sowohl die Dauer eines Crawls als auch das übertragene Datenvolumen.
Warnung
Geben Sie document nicht an. Der Abruf der Seite selbst würde blockiert und der Crawl käme nicht zustande; der Wert wird daher mit einer Warnung ignoriert.
Bemerkung
Auch ein Typ, der nicht in der obigen Liste steht, wird mit einer Warnung gemeldet. Ein Tippfehler im Plural wie images passt auf keine Anfrage und blockiert daher nichts. Die Liste ist die Vereinigung der Typen, die die drei Browser-Engines melden; einige Typen werden vom jeweils verwendeten Browser deshalb nie gemeldet: texttrack meldet nur Chromium, und WebKit meldet weder media noch manifest. Die Angabe eines Typs, der nicht gemeldet wird, blockiert einfach nichts.
Bemerkung
Das Blockieren von script oder xhr verhindert das Rendern durch JavaScript, womit der Einsatz von Playwright sinnlos wird. Für einen Crawl, der ausschließlich serverseitig gerenderte Seiten erfasst, ist es nützlich; wählen Sie jedoch normalerweise aus den oben genannten Typen aus, die sich gefahrlos angeben lassen.
Änderungen in 15.8
Beim Upgrade von 15.7 oder älter hat sich das Verhalten des Playwright-Crawlers wie folgt geändert.
User-Agent: Der User-Agent der Crawl-Konfiguration wird jetzt tatsächlich vom Browser gesendet. In 15.7 und älter wurde der Browser-Standardwert
HeadlessChrome/...gesendet. Bei Sites, die ihre Antwort je nach User-Agent unterschiedlich ausgeben, kann sich der abgerufene Inhalt ändern.Anfrage-Header: Die Anfrage-Header der Crawl-Konfiguration werden jetzt auf den Browser angewendet. Kommt derselbe Header-Name mehrfach vor, werden die Werte zu einem einzigen kommagetrennten Wert zusammengefasst.
Downloads über eine Weiterleitung: Die aufgezeichnete URL ist jetzt das Weiterleitungsziel (die URL, die die Datei tatsächlich zurückgegeben hat). Ist das Weiterleitungsziel eine URL außerhalb des Crawl-Bereichs, wird sie als außerhalb des Bereichs ausgeschlossen.
Warten auf ``renderedState``: Eine Zeitüberschreitung während des Wartens gilt nicht mehr als Fehler; der zu diesem Zeitpunkt geladene Inhalt wird unverändert verwendet. Auch Seiten, die
NETWORKIDLEnie erreichen, können indiziert werden.Angabe von Timeouts:
client.navigationTimeoutundclient.renderedStateTimeout, die die Ladezeit der gesamten Seite begrenzen, wurden hinzugefügt.client.connectionTimeoutundclient.soTimeoutsind Timeouts pro Socket und werden nicht auf den Browser angewendet.
Referenzinformationen
Crawler-Konfiguration: Web-, Dateiserver- und Datenbank-Crawling - Grundlegende Crawler-Konfiguration
Konfiguration von Thumbnail-Bildern - Thumbnail-Konfiguration
Speicherkonfiguration - Speicherkonfiguration
Protokollkonfiguration - Protokollkonfiguration
Suchbezogene Konfigurationen - Erweiterte Suchkonfiguration