Английский | 中文版
Этот проект предоставляет мощный инструмент для очистки веб -скребки, который получает результаты поиска и преобразует их в формат Markdown, используя FastAPI, SEARXNG и Browserless. Он включает в себя возможность использования прокси для сетевого соскоба и эффективно обрабатывать HTML Content. Теперь включает интеграцию ИИ для фильтрации результатов поиска. Альтернативы включают Jina.ai, FireCRAWL AI, EXA AI и 2Markdown, предлагающие различные решения для разработчиков и поисковые системы.
Убедитесь, что у вас установлено следующее:
Вы можете использовать Docker для упрощения процесса настройки. Следуйте этим шагам:
Клонировать репозиторий :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownЗапустить Docker Compose :
docker compose up --build С помощью этой настройки, если вы измените файл .env или main.py , вам больше не нужно перезапускать Docker. Изменения будут перезагружены автоматически.
Следуйте этим шагам для ручной настройки:
Клонировать репозиторий :
git clone https://github.com/essamamdani/search-result-scraper-markdown.git
cd search-result-scraper-markdownСоздать и активировать виртуальную среду :
virtualenv venv
source venv/bin/activateУстановить зависимости :
pip install -r requirements.txtСоздайте файл .env в корневом каталоге со следующим контентом:
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-0125Запустите контейнеры Docker для Searxng и Browserless :
./run-services.shНачните приложение FastAPI :
uvicorn main:app --host 0.0.0.0 --port 8000 Чтобы выполнить поисковый запрос, отправьте запрос GET в корневую конечную точку / с параметрами запроса q (поисковый запрос), num_results (количество результатов) и format (получите ответ в JSON или по умолчанию в Markdown).
Пример:
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 Чтобы получить и преобразовать содержимое определенного URL в Markdown, отправьте запрос GET в конечную точку /r/{url:path} .
Пример:
curl " http://localhost:8000/r/https://example.com&format=json " # for JSON format
curl " http://localhost:8000/r/https://example.com " # by default Markdown Чтобы получить результаты поиска изображения, отправьте запрос GET в конечную точку /images с параметрами запроса q (поисковый запрос) и num_results (количество результатов).
Пример:
curl " http://localhost:8000/images?q=puppies&num_results=5 " Чтобы получить результаты поиска видео, отправьте запрос GET в конечную точку /videos с параметрами запроса q (поисковый запрос) и num_results (количество результатов).
Пример:
curl " http://localhost:8000/videos?q=cooking+recipes&num_results=5 " Этот проект использует прокси Geonode для сетевого соскоба. Вы можете использовать мою аффилированную ссылку Geonode, чтобы начать работу с их прокси -службами.
Для получения подробного объяснения кода, посетите статью здесь.
Этот проект лицензирован по лицензии MIT. Смотрите файл лицензии для получения подробной информации.
Essa Mamdani - Essamamdani.com
Взносы приветствуются! Пожалуйста, не стесняйтесь отправить запрос на привлечение.