Englisch | 中文版
Dieses Projekt bietet ein leistungsstarkes Web -Scraping -Tool, mit dem Suchergebnisse erzielt und mithilfe von Fastapi, Searxng und Browser ohne Browser in das Markdown -Format umgewandelt werden. Es umfasst die Möglichkeit, Proxies für das Web -Scraping zu verwenden und die HTML -Inhaltskonvertierung effizient zu markieren. Jetzt mit KI -Integration zum Filtern von Suchergebnissen. Zu den Alternativen gehören Jina.ai, Firecrawl AI, EXA AI und 2Markdown, die verschiedene Web -Scraping- und Suchmaschinenlösungen für Entwickler anbieten.
Stellen Sie sicher, dass Sie die folgenden Installation haben:
Sie können Docker verwenden, um den Setup -Prozess zu vereinfachen. Folgen Sie folgenden Schritten:
Klonen Sie das Repository :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownRun Docker komponieren :
docker compose up --build Wenn Sie bei diesem Setup die Datei .env oder main.py ändern, müssen Sie Docker nicht mehr neu starten. Änderungen werden automatisch neu geladen.
Befolgen Sie diese Schritte für manuelle Einrichtung:
Klonen Sie das Repository :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownVirtuelle Umgebung erstellen und aktivieren :
virtualenv venv
source venv/bin/activateAbhängigkeiten installieren :
pip install -r requirements.txtErstellen Sie eine .env -Datei im Stammverzeichnis mit dem folgenden Inhalt:
SEARXNG_URL=http://searxng:8080
BROWSERLESS_URL=http://browserless:3000
TOKEN=your_browserless_token_here # Replace with your actual token
# PROXY_PROTOCOL=http
# PROXY_URL=your_proxy_url
# PROXY_USERNAME=your_proxy_username
# PROXY_PASSWORD=your_proxy_password
# PROXY_PORT=your_proxy_port
REQUEST_TIMEOUT=30
# AI Integration for search result filter
FILTER_SEARCH_RESULT_BY_AI=true
AI_ENGINE=groq
# GROQ
GROQ_API_KEY=yours_groq_api_key_here
GROQ_MODEL=llama3-8b-8192
# OPENAI
# OPENAI_API_KEY=your_openai_api_key_here
# OPENAI_MODEL=gpt-3.5-turbo-0125Führen Sie Docker -Container für searxng und browserlos aus :
./run-services.shStarten Sie die Fastapi -Anwendung :
uvicorn main:app --host 0.0.0.0 --port 8000 Um eine Suchabfrage durchzuführen, senden Sie eine GET -Anforderung an den Stammendpunkt / mit den Abfrageparametern q (Suchabfrage), num_results (Anzahl der Ergebnisse) und format (Antwort in JSON oder standardmäßig im Markus).
Beispiel:
curl " http://localhost:8000/?q=python&num_results=5&format=json " # for JSON format
curl " http://localhost:8000/?q=python&num_results=5 " # by default Markdown Um den Inhalt einer bestimmten URL in Markdown abzurufen und zu konvertieren, senden Sie eine GET -Anforderung an den Endpunkt /r/{url:path} .
Beispiel:
curl " http://localhost:8000/r/https://example.com&format=json " # for JSON format
curl " http://localhost:8000/r/https://example.com " # by default Markdown Um Bild -Suchergebnisse abzurufen, senden Sie eine GET -Anforderung an den Endpunkt /images mit den Abfrageparametern q (Suchabfrage) und num_results (Anzahl der Ergebnisse).
Beispiel:
curl " http://localhost:8000/images?q=puppies&num_results=5 " Um Video -Suchergebnisse abzurufen, senden Sie eine GET -Anforderung an den Endpunkt /videos mit den Abfrageparametern q (Suchabfrage) und num_results (Anzahl der Ergebnisse).
Beispiel:
curl " http://localhost:8000/videos?q=cooking+recipes&num_results=5 " Dieses Projekt verwendet Geonode -Proxies für das Web -Scraping. Sie können meinen Geonode -Affiliate -Link verwenden, um mit ihren Proxy -Diensten zu beginnen.
Eine ausführliche Erläuterung des Codes finden Sie im Artikel hier.
Dieses Projekt ist unter der MIT -Lizenz lizenziert. Weitere Informationen finden Sie in der Lizenzdatei.
Essa Mamdani - Essamamdani.com
Beiträge sind willkommen! Bitte zögern Sie nicht, eine Pull -Anfrage einzureichen.