Allgemeine Einführung
GPT-Crawler ist ein Open-Source-Tool, das vom BuilderIO-Team entwickelt und auf GitHub gehostet wird. Es durchsucht Seiteninhalte durch Eingabe einer oder mehrerer Website-URLs und erzeugt strukturierte Wissensdokumente (output.json
) zur Erstellung benutzerdefinierter GPT- oder AI-Assistenten. Benutzer können Crawling-Regeln konfigurieren, wie z. B. die Angabe einer Start-URL und eines Inhaltsselektors, und das Tool extrahiert den Text automatisch und organisiert ihn in Dateien. Das Tool ist einfach zu bedienen und unterstützt lokale Ausführungen, Docker-Container-Bereitstellungen und API-Aufrufe, so dass es für Entwickler ideal ist, um schnell eigene KI-Assistenten aus Website-Inhalten zu erstellen. Bisher hat es in der Tech-Community aufgrund seiner Effizienz und seines Open-Source-Charakters an Zugkraft gewonnen.
Funktionsliste
- Durchsucht Website-Inhalte von einer oder mehreren URLs und erzeugt
output.json
Dokumentation. - Unterstützung für benutzerdefinierte Crawling-Regeln, einschließlich Start-URLs, Link-Matching-Muster und CSS-Selektoren.
- Fähigkeit, dynamische Webseiten zu verarbeiten und client-seitig gerenderte Inhalte mit einem Headless-Browser zu crawlen.
- Bietet eine API-Schnittstelle zum Starten von Crawling-Aufgaben über POST-Anfragen.
- Unterstützt die Einstellung der maximalen Anzahl von Seiten (
maxPagesToCrawl
), Dokumentengröße (maxFileSize
) und die Anzahl der Token (maxTokens
). - Die generierten Dateien können direkt in OpenAI hochgeladen werden, um eigene GPTs oder KI-Assistenten zu erstellen.
- Unterstützt die Ausführung von Docker-Containern, die sich leicht in verschiedenen Umgebungen einsetzen lassen.
- Bestimmte Ressourcentypen (z. B. Bilder, Videos usw.) können ausgeschlossen werden, um die Crawling-Effizienz zu optimieren.
Hilfe verwenden
Installation und Betrieb (lokaler Modus)
GPT-Crawler basiert auf der Entwicklung von Node.js und muss installiert werden, um zu laufen. Hier sind die detaillierten Schritte:
- Überprüfung der Umgebung
Vergewissern Sie sich, dass auf Ihrem Computer Node.js (Version 16 oder höher) und npm installiert ist. Führen Sie zur Bestätigung den folgenden Befehl aus:
node -v
npm -v
Wenn Sie es nicht haben, können Sie es von der Node.js-Website herunterladen und installieren.
- Klonprojekt
Laden Sie das Projekt lokal herunter, indem Sie den Befehl in das Terminal eingeben:
git clone https://github.com/BuilderIO/gpt-crawler.git
- Zugang zum Katalog
Sobald der Download abgeschlossen ist, wechseln Sie in den Projektordner:
cd gpt-crawler
- Installation von Abhängigkeiten
Führen Sie den folgenden Befehl aus, um die erforderlichen Pakete zu installieren:
npm install
- Den Crawler konfigurieren
zeigen (eine Eintrittskarte)config.ts
Datei, ändern Sie die Crawl-Parameter. Zum Beispiel, um das Dokument Builder.io zu crawlen:
export const defaultConfig: Config = {
url: "https://www.builder.io/c/docs/developers",
match: "https://www.builder.io/c/docs/**",
selector: ".docs-builder-container",
maxPagesToCrawl: 50,
outputFileName: "output.json"
};
url
: Beginnende Crawl-Adresse.match
Link Matching Pattern mit Wildcard-Unterstützung.selector
CSS-Selektor zum Extrahieren von Inhalten.maxPagesToCrawl
Maximale Anzahl der zu crawlenden Seiten.outputFileName
Name der Ausgabedatei.
- Ausführen des Crawlers
Sobald die Konfiguration abgeschlossen ist, führen Sie den folgenden Befehl aus, um den Crawl zu starten:
npm start
Nach Abschluss.output.json
Datei wird im Stammverzeichnis des Projekts erstellt.
Alternative Betriebsarten
Verwendung von Docker-Containern
- Stellen Sie sicher, dass Docker installiert ist (heruntergeladen von der Docker-Website).
- gehen in
containerapp
Ordner, Bearbeitenconfig.ts
. - Führen Sie den folgenden Befehl aus, um den Container zu erstellen und zu starten:
docker build -t gpt-crawler .
docker run -v $(pwd)/data:/app/data gpt-crawler
- Die Ausgabedatei wird in der Datei
data
Ordner.
Arbeiten mit der API
- Nachdem Sie die Abhängigkeiten installiert haben, starten Sie den API-Dienst:
npm run start:server
- Der Dienst läuft standardmäßig auf dem
http://localhost:3000
. - Senden Sie eine POST-Anfrage an
/crawl
, Beispiel:
curl -X POST http://localhost:3000/crawl -H "Content-Type: application/json" -d '{"url":"https://example.com","match":"https://example.com/**","selector":"body","maxPagesToCrawl":10,"outputFileName":"output.json"}'
- zugänglich
/api-docs
Sehen Sie sich die API-Dokumentation an (basierend auf Swagger).
Hochladen zu OpenAI
- Benutzerdefinierte GPTs erstellen
- ChatGPT öffnen.
- Klicken Sie auf Ihren Namen in der unteren linken Ecke und wählen Sie "Meine GPTs".
- Klicken Sie auf "Ein GPT erstellen" > "Konfigurieren" > "Wissen".
- hochladen
output.json
Dokumentation. - Wenn die Datei zu groß ist, wird die
config.ts
aufstellenmaxFileSize
vielleichtmaxTokens
Datei teilen.
- Benutzerdefinierte Assistenten erstellen
- Öffnen Sie die OpenAI-Plattform.
- Klicken Sie auf "+ Erstellen" > "Hochladen".
- hochladen
output.json
Dokumentation.
Funktionen
- Inhalt crawlen
eindeutig und sicher angebenurl
im Gesang antwortenselector
Danach extrahiert das Tool den Seitentext. Zum Beispiel..docs-builder-container
Erfassen Sie nur den Inhalt der Region. - Dateien generieren
Das Format der Ausgabedatei ist:
[{"title": "页面标题", "url": "https://example.com/page", "html": "提取的文本"}, ...]
- Optimierte Leistung
ausnutzenresourceExclusions
Fremde Ressourcen ausschließen (z. B.png
undjpg
), was die Dateigröße reduziert.
caveat
- Um benutzerdefinierte GPTs zu erstellen, ist ein kostenpflichtiges OpenAI-Konto erforderlich.
- Dynamisches Web-Crawling stützt sich auf Headless-Browser, um die Integrität von Abhängigkeiten zu gewährleisten.
- Die Konfiguration kann so angepasst werden, dass der Upload aufgeteilt wird, wenn die Datei zu groß ist.
Anwendungsszenario
- Assistentin für technische Unterstützung
Durchsuchen Sie Websites mit Produktdokumentationen, um KI-Assistenten zu erstellen, die Benutzern bei der Beantwortung technischer Fragen helfen. - Werkzeuge zur Organisation von Inhalten
Nutzen Sie Artikel aus Blogs oder Nachrichtenseiten, um eine Wissensdatenbank oder einen Assistenten für Fragen und Antworten zu erstellen. - Assistentin für allgemeine und berufliche Bildung
Durchsuchen Sie Online-Kursseiten, um Lernassistenten zu erstellen, die kursbezogene Antworten liefern.
QA
- Ist es möglich, mehrere Websites zu crawlen?
Dose. Imconfig.ts
Legen Sie einfach mehrere URLs und Übereinstimmungsregeln in der - Was ist, wenn die Datei zum Hochladen zu groß ist?
aufstellenmaxFileSize
vielleichtmaxTokens
wird die Datei in mehrere kleinere Dateien aufgeteilt. - Unterstützen Sie chinesische Websites?
Unterstützung. Solange der Inhalt der Website von Headless-Browsern geparst werden kann, kann er ordnungsgemäß gecrawlt werden.