CAPSOLVER
Blog
Cara Menggunakan ScrapeGraph AI untuk Web Scraping

Cara Menggunakan ScrapeGraph AI untuk Web Scraping

Logo of CapSolver

Rajinder Singh

Deep Learning Researcher

04-Sep-2024

Cara Menggunakan ScrapeGraph AI untuk Web Scraping

Apa itu ScrapeGraph AI?

ScrapeGraph AI adalah library web scraping Python yang memanfaatkan LLM dan logika berbasis graf 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 menyelami penggunaan ScrapeGraph AI, pastikan Anda telah menginstal yang berikut:

bash Copy
pip install scrapegraphai capsolver

playwright install

Memulai dengan ScrapeGraph AI

Berikut adalah contoh dasar cara menggunakan ScrapeGraph AI dengan OpenAI untuk mengikis halaman web:

python Copy
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:

python Copy
import json
from scrapegraphai.graphs import SmartScraperGraph

# Tentukan konfigurasi untuk pipeline scraping
graph_config = {
    "llm": {
        "model": "ollama/llama3.1",
        "temperature": 0,
        "format": "json",  # Ollama perlu format untuk ditentukan secara eksplisit
        # "base_url": "http://localhost:11434", # tetapkan URL ollama secara sewenang-wenang
    },
    "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))

Menangani Captcha dengan Capsolver dan ScrapeGraph AI

Pada bagian ini, kita akan menjelajahi cara mengintegrasikan Capsolver dengan ScrapeGraph AI untuk melewati captcha. CapSolver adalah layanan eksternal yang membantu dalam menyelesaikan berbagai jenis captcha, termasuk ReCaptcha V2, yang umumnya digunakan di situs web.

Kita akan menunjukkan penyelesaian ReCaptcha V2 menggunakan Capsolver dan kemudian mengikis konten halaman yang membutuhkan penyelesaian captcha terlebih dahulu.

Kode Bonus

Klaim Kode Bonus Anda untuk solusi captcha teratas; CapSolver: scrape. Setelah menukarkannya, Anda akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas

Contoh: Menyelesaikan ReCaptcha V2 dengan Capsolver dan ScrapeGraph AI

python Copy
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("Menyelesaikan reCaptcha v2")
    solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Solusi: ", solution)

# 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="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 secara efisien mengikis situs web sambil menangani kompleksitas proxy 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 scraping Anda dan bereksperimen dengan fitur tambahan yang ditawarkan oleh ScrapeGraph AI. Selalu pastikan bahwa aktivitas scraping Anda menghormati persyaratan layanan situs web dan pedoman hukum.

Selamat mengikis!

Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.

Lebih lanjut