Cara Menggunakan ScrapeGraph AI untuk Web Scraping
Apa itu ScrapeGraph AI?
ScrapeGraph AI adalah library web scraping Python yang memanfaatkan LLM dan logika berbasis grafik untuk membangun pipeline scraping untuk situs web dan dokumen lokal (termasuk XML, HTML, JSON, Markdown, dan lainnya). Cukup tentukan data yang ingin Anda ekstrak, dan library akan menangani sisanya!
Library ini menyediakan beberapa fitur:
- Mendukung banyak LLM: GPT, Gemini, Groq, Azure, Hugging Face
- Model Lokal: Ollama.
- Dukungan proxy untuk menangani permintaan di balik proxy.
Prasyarat
Sebelum Anda mempelajari cara menggunakan ScrapeGraph AI, pastikan Anda telah menginstal berikut ini:
pip install scrapegraphai capsolver
playwright install
Memulai dengan ScrapeGraph AI
Berikut adalah contoh dasar cara menggunakan ScrapeGraph AI dengan OpenAI untuk mengikis halaman web:
import json
from scrapegraphai.graphs import SmartScraperGraph
# Tentukan konfigurasi untuk pipeline scraping
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# Buat instance SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
prompt="Daftar semua kutipan dengan deskripsinya",
source="https://quotes.toscrape.com/",
config=graph_config
)
# Jalankan pipeline
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
Berikut adalah contoh dasar cara menggunakan ScrapeGraph AI dengan LLM Lokal (Ollama) untuk mengikis halaman web:
import json
from scrapegraphai.graphs import SmartScraperGraph
# Tentukan konfigurasi untuk pipeline scraping
graph_config = {
"llm": {
"model": "ollama/llama3.1",
"temperature": 0,
"format": "json", # Ollama memerlukan format untuk ditentukan secara eksplisit
# "base_url": "http://localhost:11434", # atur URL ollama secara sewenang-wenang
},
import capsolver
import os
import json
from scrapegraphai.graphs import SmartScraperGraph
# Pertimbangkan untuk menggunakan variabel lingkungan untuk informasi sensitif
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Kunci API Capsolver Anda")
PAGE_URL = os.getenv("PAGE_URL", "PAGE_URL")
PAGE_KEY = os.getenv("PAGE_SITE_KEY", "PAGE_SITE_KEY")
def solve_recaptcha_v2(url, key):
solution = capsolver.solve({
"type": "ReCaptchaV2Task",
"websiteURL": url,
"websiteKey": key,
"proxy": PROXY
})
return solution['solution']['gRecaptchaResponse']
def main():
print("Memecahkan reCaptcha v2")
solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
print("Solusi: ", solution)
# Tentukan konfigurasi untuk pipeline pengikisan
graph_config = {
"llm": {
"api_key": "YOUR_OPENAI_APIKEY",
"model": "openai/gpt-4o-mini",
},
"verbose": True,
"headless": False,
}
# Buat instance SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
prompt="Temukan deskripsi dari setiap kutipan.",
source="https://quotes.toscrape.com/",
config=graph_config
)
# Jalankan pipeline
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))
Kesimpulan
Dengan ScrapeGraph AI, Anda dapat dengan efisien mengikis situs web sambil menangani kerumitan proksi dan captcha. Menggabungkannya dengan Capsolver memungkinkan Anda untuk melewati tantangan ReCaptcha V2 dengan lancar, memungkinkan akses ke konten yang jika tidak akan sulit untuk dikikis.
Jangan ragu untuk memperluas skrip ini agar sesuai dengan kebutuhan pengikisan Anda dan bereksperimen dengan fitur tambahan yang ditawarkan oleh ScrapeGraph AI. Selalu pastikan bahwa aktivitas pengikisan Anda menghormati persyaratan layanan situs web dan pedoman hukum.
Selamat mengikis!