CAPSOLVER
Blog
Cách sử dụng ScrapeGraph AI để thu thập dữ liệu web

Cách sử dụng ScrapeGraph AI để Scrape Web

Logo of CapSolver

Anh Tuan

Data Science Expert

04-Sep-2024

Cách Sử Dụng ScrapeGraph AI để Trích Xuất Dữ Liệu từ Web

ScrapeGraph AI là gì?

ScrapeGraph AI là một thư viện trích xuất dữ liệu web bằng Python sử dụng các mô hình ngôn ngữ lớn (LLM) và logic dựa trên đồ thị để xây dựng đường ống trích xuất cho các trang web và tài liệu cục bộ (bao gồm XML, HTML, JSON, Markdown, v.v.). Chỉ cần chỉ định dữ liệu bạn muốn trích xuất, thư viện sẽ xử lý phần còn lại!

Thư viện cung cấp một số tính năng:

  • Hỗ trợ nhiều LLM: GPT, Gemini, Groq, Azure, Hugging Face
  • Mô hình cục bộ: Ollama.
  • Hỗ trợ proxy để xử lý các yêu cầu phía sau proxy.

Điều kiện tiên quyết

Trước khi bắt đầu sử dụng ScrapeGraph AI, hãy đảm bảo bạn đã cài đặt các phần sau:

bash Copy
pip install scrapegraphai capsolver

playwright install

Bắt đầu với ScrapeGraph AI

Dưới đây là một ví dụ cơ bản về cách sử dụng ScrapeGraph AI với OpenAI để trích xuất dữ liệu từ một trang web:

python Copy
import json
from scrapegraphai.graphs import SmartScraperGraph

# Định nghĩa cấu hình cho đường ống trích xuất
graph_config = {
    "llm": {
        "api_key": "YOUR_OPENAI_APIKEY",
        "model": "openai/gpt-4o-mini",
    },
    "verbose": True,
    "headless": False,
}

# Tạo thể hiện SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Liệt kê tất cả các trích dẫn cùng với mô tả của chúng",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Chạy đường ống
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Dưới đây là một ví dụ cơ bản về cách sử dụng ScrapeGraph AI với LLM cục bộ (Ollama) để trích xuất dữ liệu từ một trang web:

python Copy
import json
from scrapegraphai.graphs import SmartScraperGraph

# Định nghĩa cấu hình cho đường ống trích xuất
graph_config = {
    "llm": {
        "model": "ollama/llama3.1",
        "temperature": 0,
        "format": "json",  # Ollama cần định dạng được chỉ định rõ ràng
        # "base_url": "http://localhost:11434", # đặt URL ollama tùy ý
    },
    "verbose": True,
    "headless": False
}

# Tạo thể hiện SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Liệt kê tất cả các trích dẫn cùng với mô tả của chúng",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Chạy đường ống
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Xử lý Captcha với Capsolver và ScrapeGraph AI

Trong phần này, chúng ta sẽ khám phá cách tích hợp Capsolver với ScrapeGraph AI để bỏ qua captcha. CapSolver là một dịch vụ bên ngoài giúp giải quyết nhiều loại captcha, bao gồm ReCaptcha V2, thường được sử dụng trên các trang web.

Chúng ta sẽ minh họa việc giải quyết ReCaptcha V2 bằng Capsolver và sau đó trích xuất nội dung của một trang yêu cầu giải quyết captcha trước.

Mã bổ sung

Hãy nhận Mã bổ sung của bạn cho các giải pháp captcha hàng đầu; CapSolver: scrape. Sau khi đổi mã, bạn sẽ nhận được thêm 5% tiền thưởng sau mỗi lần nạp tiền, không giới hạn

Ví dụ: Giải quyết ReCaptcha V2 với Capsolver và ScrapeGraph AI

python Copy
import capsolver
import os
import json
from scrapegraphai.graphs import SmartScraperGraph

# Cân nhắc sử dụng biến môi trường cho thông tin nhạy cảm
PROXY = os.getenv("PROXY", "http://username:password@host:port")
capsolver.api_key = os.getenv("CAPSOLVER_API_KEY", "Your Capsolver API Key")
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("Giải quyết reCaptcha v2")
    solution = solve_recaptcha_v2(PAGE_URL, PAGE_KEY)
    print("Giải pháp: ", solution)

# Định nghĩa cấu hình cho đường ống trích xuất
graph_config = {
    "llm": {
        "api_key": "YOUR_OPENAI_APIKEY",
        "model": "openai/gpt-4o-mini",
    },
    "verbose": True,
    "headless": False,
}

# Tạo thể hiện SmartScraperGraph
smart_scraper_graph = SmartScraperGraph(
    prompt="Tìm mô tả của mỗi trích dẫn.",
    source="https://quotes.toscrape.com/",
    config=graph_config
)

# Chạy đường ống
result = smart_scraper_graph.run()
print(json.dumps(result, indent=4))

Kết luận

Với ScrapeGraph AI, bạn có thể trích xuất dữ liệu từ các trang web một cách hiệu quả trong khi xử lý các vấn đề phức tạp của proxy và captcha. Kết hợp nó với Capsolver cho phép bạn bỏ qua các thử thách ReCaptcha V2 một cách liền mạch, cho phép truy cập vào nội dung mà nếu không sẽ khó trích xuất.

Hãy thoải mái mở rộng kịch bản này để phù hợp với nhu cầu trích xuất của bạn và thử nghiệm các tính năng bổ sung được cung cấp bởi ScrapeGraph AI. Luôn đảm bảo rằng các hoạt động trích xuất của bạn tôn trọng các điều khoản dịch vụ của trang web và các hướng dẫn pháp lý.

Chúc bạn trích xuất vui vẻ!

Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.

Thêm

phần mở rộng tốt nhất để giải CAPTCHA 2026
Tiện ích tốt nhất để giải CAPTCHA 2026 là gì?

Trong thế giới an ninh trực tuyến không ngừng phát triển, các thách thức CAPTCHA đã trở thành rào cản phổ biến đối với người dùng internet...

Extension
Logo of CapSolver

Ethan Collins

12-Dec-2025

Đăng nhập Gen
Genlogin: Đổi mới Trải nghiệm Tự động hóa Web

Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn Genlogin là gì và các dịch vụ mà họ cung cấp.

Partners
Logo of CapSolver

Rajinder Singh

12-Dec-2025

ProxysIO
Proxys.io: Proxy riêng lẻ cho bất kỳ nhiệm vụ nào

Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn Proxys.io là gì và các dịch vụ mà họ cung cấp.

Partners
Logo of CapSolver

Lucas Mitchell

12-Dec-2025

Tabproxy
Tabproxy: Dịch vụ proxy nhà ở giá trị tốt cho khu vực nước ngoài

Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn Tabproxy là gì và các dịch vụ mà họ cung cấp.

web scraping
Logo of CapSolver

Anh Tuan

12-Dec-2025

IP2Thế giới
IP2World Proxy Nhà Ở: Giải pháp IP proxy toàn cầu hàng đầu

Trong bài viết này, chúng tôi sẽ giới thiệu cho bạn IP2World là gì và các dịch vụ mà họ cung cấp.

Partners
Logo of CapSolver

Ethan Collins

12-Dec-2025

lỗi trích xuất dữ liệu từ web
Các lỗi 402, 403, 404 và 429 là gì trong việc quét web? Hướng dẫn toàn diện

Nắm vững xử lý lỗi quét web bằng cách hiểu các lỗi 402, 403, 404 và 429. Học cách sửa lỗi 403 Cấm, triển khai giải pháp xử lý lỗi 429 và xử lý mã trạng thái 402 Yêu cầu thanh toán mới xuất hiện.

web scraping
Logo of CapSolver

Lucas Mitchell

12-Dec-2025