ภาษาอังกฤษ | 中文版
โครงการนี้มีเครื่องมือขูดเว็บที่ทรงพลังที่ดึงผลการค้นหาและแปลงเป็นรูปแบบ markdown โดยใช้ fastapi, searxng และเบราว์เซอร์เลส ซึ่งรวมถึงความสามารถในการใช้พร็อกซีสำหรับการขูดเว็บและจัดการการแปลงเนื้อหา HTML เพื่อทำเครื่องหมายอย่างมีประสิทธิภาพ ตอนนี้มีการรวม AI สำหรับการกรองผลการค้นหา ทางเลือก ได้แก่ 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 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 ส่งคำขอรับไปยังจุดสิ้นสุด /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
ยินดีต้อนรับ! โปรดส่งคำขอดึง