10 KiB
🕷️ ScrapeGraphAI: You Only Scrape Once
English | 中文 | 日本語 | 한국어 | Русский | Turkish
ScrapeGraphAI, web siteleri ve yerel belgeler (XML, HTML, JSON, Markdown vb.) için kazıma hatları oluşturmak üzere LLM ve doğrudan grafik mantığını kullanan bir web scraping Python kütüphanesidir.
Sadece çıkarmak istediğiniz bilgiyi belirtin; kütüphane bunu sizin için gerçekleştirecektir!
🚀 Hızlı kurulum
ScrapeGraphAI için referans sayfası, PyPI'nin resmi sayfasında mevcuttur: pypi.
pip install scrapegraphai
playwright install
NOT: Diğer kütüphanelerle çakışmaları önlemek için kütüphaneyi bir sanal ortamda kurmanız önerilir.
İsteğe Bağlı Bağımlılıklar
Kütüphane kurulumunda ek bağımlılıklar eklenebilir:
- Daha Fazla Dil Modeli: Fireworks, Groq, Anthropic, Hugging Face ve Nvidia AI Endpoints gibi ek dil modelleri yüklenir.
Bu grup, Fireworks, Groq, Anthropic, Together AI, Hugging Face ve Nvidia AI Endpoints gibi ek dil modellerini kullanmanıza olanak tanır.
pip install scrapegraphai[other-language-models]
- Anlamsal Seçenekler: Bu grup, Graphviz gibi ileri düzey anlamsal işleme araçlarını içerir.
pip install scrapegraphai[more-semantic-options]
- Tarayıcı Seçenekleri: Bu grup, Browserbase gibi ek tarayıcı yönetim araçlarını/hizmetlerini içerir.
pip install scrapegraphai[more-browser-options]
💻 Kullanım
Bir web sitesinden (veya yerel dosyadan) bilgi almak için kullanılabilecek birçok standart kazıma hattı vardır.
En yaygın olanı, bir kullanıcı istemi ve bir kaynak URL'si verildiğinde tek bir sayfadan bilgi çıkaran SmartScraperGraph'tır.
import json
from scrapegraphai.graphs import SmartScraperGraph
# Kazıma hattı için yapılandırmayı tanımlayın
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# SmartScraperGraph örneğini oluşturun
smart_scraper_graph = SmartScraperGraph(
prompt="Şirketin ne yaptığı, adı ve iletişim e-postası hakkında bazı bilgiler bulun.",
source="https://scrapegraphai.com/",
config=graph_config
)
# Hattı çalıştırın
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
Çıktı, aşağıdaki gibi bir sözlük olacaktır:
{
"company": "ScrapeGraphAI",
"name": "ScrapeGraphAI Extracting content from websites and local documents using LLM",
"contact_email": "contact@scrapegraphai.com"
}
Birden fazla sayfadan bilgi ayıklamak, Python komut dosyaları oluşturmak ve hatta ses dosyaları oluşturmak için kullanılabilecek başka işlem hatları da vardır.
| Pipeline Name | Description |
|---|---|
| SmartScraperGraph | Single-page scraper that only needs a user prompt and an input source. |
| SearchGraph | Multi-page scraper that extracts information from the top n search results of a search engine. |
| SpeechGraph | Single-page scraper that extracts information from a website and generates an audio file. |
| ScriptCreatorGraph | Single-page scraper that extracts information from a website and generates a Python script. |
| SmartScraperMultiGraph | Multi-page scraper that extracts information from multiple pages given a single prompt and a list of sources. |
| ScriptCreatorMultiGraph | Multi-page scraper that generates a Python script for extracting information from multiple pages and sources. |
Bu grafiklerin her biri için çoklu versiyonu vardır. Bu, LLM'yi paralel olarak çağırmayı sağlar.
Farklı LLM'leri API'ler aracılığıyla kullanmak mümkündür, örneğin OpenAI, Groq, Azure ve Gemini, veya Ollama kullanarak yerel modeller.
Yerel modelleri kullanmak istiyorsanız, Ollama kurulu olduğundan emin olun ve modelleri indirmek için ollama pull komutunu kullanın.
🔍 Demo
Resmi Streamlit demosu:
Bunu doğrudan web üzerinde Google Colab kullanarak deneyin:
📖 Dokümantasyon
ScrapeGraphAI için dokümantasyonu buradan bulabilirsiniz.
Docusaurus'u da buradan kontrol edin.
🏆 Sponsorlar
🤝 Katkıda Bulunma
Katkıda bulunmaktan çekinmeyin ve iyileştirmeleri tartışmak ve önerilerinizi iletmek için Discord sunucumuza katılın!
Lütfen katkı sağlama yönergelerini inceleyin.
📈 Telemetri
Paketin kalitesini ve kullanıcı deneyimini geliştirmek için anonim kullanım istatistikleri topluyoruz. Bu veriler, iyileştirmeleri önceliklendirmemize ve uyumluluğu sağlamamıza yardımcı olur. Eğer bu verileri almak istemiyorsanız, ortam değişkenini SCRAPEGRAPHAI_TELEMETRY_ENABLED=false olarak ayarlayın. Daha fazla bilgi için lütfen dokümantasyona buradan bakın.
❤️ Katkıda Bulunanlar
🎓 Atıflar
Eğer kütüphanemizi araştırma amaçlı kullandıysanız, lütfen aşağıdaki referansla atıfta bulunun:
@misc{scrapegraph-ai,
author = {Marco Perini, Lorenzo Padoan, Marco Vinciguerra},
title = {Scrapegraph-ai},
year = {2024},
url = {https://github.com/VinciGit00/Scrapegraph-ai},
note = {A Python library for scraping leveraging large language models}
}
Yazarlar
| İletişim Bilgisi | |
|---|---|
| Marco Vinciguerra | |
| Marco Perini | |
| Lorenzo Padoan |
📜 Lisans
ScrapeGraphAI, MIT Lisansı altında lisanslanmıştır. Daha fazla bilgi için LİSANS dosyasına bakın.
Teşekkürler
- Projeye katkıda bulunan tüm katkı sahiplerine ve açık kaynak topluluğuna destekleri için teşekkür etmek isteriz.
- ScrapeGraphAI, yalnızca veri keşfi ve araştırma amaçları için kullanılmak üzere tasarlanmıştır. Kütüphanenin herhangi bir kötüye kullanımından sorumlu değiliz.