Bahasa Inggris | 中文版
Proyek ini menyediakan alat pengikis web yang kuat yang mengambil hasil pencarian dan mengubahnya menjadi format markdown menggunakan FastAPI, Searxng, dan browserless. Ini termasuk kemampuan untuk menggunakan proksi untuk pengikisan web dan menangani konversi konten HTML ke markdown secara efisien. Sekarang menampilkan integrasi AI untuk memfilter hasil pencarian. Alternatif termasuk Jina.ai, Firecrawl AI, EXA AI, dan 2markdown, menawarkan berbagai solusi pengikis dan mesin pencari untuk pengembang.
Pastikan Anda telah menginstal berikut:
Anda dapat menggunakan Docker untuk menyederhanakan proses pengaturan. Ikuti langkah -langkah ini:
Klon Repositori :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownJalankan Docker Compose :
docker compose up --build Dengan pengaturan ini, jika Anda mengubah file .env atau main.py , Anda tidak perlu lagi memulai kembali Docker. Perubahan akan dimuat ulang secara otomatis.
Ikuti langkah -langkah ini untuk pengaturan manual:
Klon Repositori :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownBuat dan aktifkan lingkungan virtual :
virtualenv venv
source venv/bin/activateInstal dependensi :
pip install -r requirements.txtBuat file .env di direktori root dengan konten berikut:
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-0125Jalankan wadah Docker untuk searxng dan browserless :
./run-services.shMulai aplikasi FASTAPI :
uvicorn main:app --host 0.0.0.0 --port 8000 Untuk melakukan kueri pencarian, kirim permintaan GET ke titik akhir root / dengan parameter kueri q (kueri pencarian), num_results (jumlah hasil), dan format (dapatkan respons di JSON atau secara default di Markdown).
Contoh:
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 Untuk mengambil dan mengonversi konten URL tertentu ke Markdown, kirim permintaan GET ke titik akhir /r/{url:path} .
Contoh:
curl " http://localhost:8000/r/https://example.com&format=json " # for JSON format
curl " http://localhost:8000/r/https://example.com " # by default Markdown Untuk mengambil hasil pencarian gambar, kirim permintaan GET ke titik akhir /images dengan parameter kueri q (kueri pencarian) dan num_results (jumlah hasil).
Contoh:
curl " http://localhost:8000/images?q=puppies&num_results=5 " Untuk mengambil hasil pencarian video, kirim permintaan GET ke titik akhir /videos dengan parameter kueri q (kueri pencarian) dan num_results (jumlah hasil).
Contoh:
curl " http://localhost:8000/videos?q=cooking+recipes&num_results=5 " Proyek ini menggunakan proxy geonode untuk pengikisan web. Anda dapat menggunakan tautan afiliasi geonode saya untuk memulai dengan layanan proxy mereka.
Untuk penjelasan rinci tentang kode tersebut, kunjungi artikel di sini.
Proyek ini dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk detailnya.
Essa Mamdani - Essamamdani.com
Kontribusi dipersilakan! Silakan mengirimkan permintaan tarik.