Sản phẩmTích hợpTài nguyênTài liệuGiá cả
Bắt đầu ngay

© 2026 CapSolver. All rights reserved.

Liên hệ chúng tôi

Slack: lola@capsolver.com

Sản phẩm

  • reCAPTCHA v2
  • reCAPTCHA v3
  • Cloudflare Turnstile
  • Cloudflare Challenge
  • AWS WAF
  • Tiện ích trình duyệt
  • Thêm nhiều loại CAPTCHA

Tích hợp

  • Selenium
  • Playwright
  • Puppeteer
  • n8n
  • Đối tác
  • Xem tất cả tích hợp

Tài nguyên

  • Chương trình giới thiệu
  • Tài liệu
  • Tham chiếu API
  • Blog
  • Câu hỏi thường gặp
  • Thuật ngữ
  • Trạng thái

Pháp lý

  • Điều khoản dịch vụ
  • Chính sách bảo mật
  • Chính sách hoàn tiền
  • Không bán thông tin cá nhân của tôi
Blog//Lấy dữ liệu từ web với Botright và Python trong năm 2025
Nov13, 2024

Lấy dữ liệu từ web với Botright và Python trong năm 2025

Emma Foster

Emma Foster

Machine Learning Engineer

Bạn có lẽ đang tự hỏi làm sao để giải quyết captcha bằng BotRight, làm sao để sử dụng nó để tạo một trình trích xuất dữ liệu đơn giản hoặc thậm chí là một trình trích xuất dữ liệu nâng cao!
Vâng, đây là hướng dẫn dành cho bạn!

Giới thiệu về Botright

Giới thiệu về BotRight

BotRight là một thư viện Python nâng cao dành cho tự động hóa web, được thiết kế đặc biệt để điều hướng sự phức tạp ngày càng tăng của các hệ thống phát hiện bot trên các trang web. Không giống như các công cụ tự động hóa cơ bản, BotRight vượt xa các tương tác đơn giản bằng cách cung cấp các điều khiển tinh vi giúp cho việc duyệt web tự động trông giống con người hơn. Việc nhấn mạnh vào việc mô phỏng hành vi của con người rất quan trọng để truy cập các trang web thường chặn hoặc giới hạn bot.

Được xây dựng dựa trên Selenium WebDriver, BotRight cung cấp một API cấp cao trừu tượng hóa các tương tác trình duyệt phức tạp thành các lệnh đơn giản, cho phép cả người dùng mới bắt đầu và người dùng nâng cao phát triển các trình trích xuất dữ liệu và kịch bản tự động hóa tinh vi mà không cần phải quản lý các lệnh trình duyệt cấp thấp. Điều này làm cho nó trở thành một lựa chọn tuyệt vời cho các dự án từ thu thập dữ liệu đơn giản đến các nhiệm vụ web nhiều bước phức tạp, đòi hỏi khả năng chống lại các thuật toán phát hiện bot.

Tại sao nên chọn BotRight?

BotRight cung cấp một số tính năng khiến nó nổi bật trong bối cảnh tự động hóa:

  1. Tương tác giống con người: Thiết kế của BotRight tập trung vào việc mô phỏng các hành động của người dùng thực, chẳng hạn như chuyển động chuột mượt mà, các mẫu gõ tự nhiên và độ trễ thời gian. Những hành vi này làm giảm nguy cơ bị phát hiện và cung cấp quyền truy cập đáng tin cậy hơn vào nội dung thường bị giới hạn đối với người dùng thực.

  2. Lưu giữ trạng thái trình duyệt: Bằng cách hỗ trợ hồ sơ trình duyệt, BotRight cho phép bạn duy trì trạng thái phiên trong nhiều lần chạy tự động. Tính năng này đặc biệt hữu ích cho các nhiệm vụ yêu cầu duy trì đăng nhập hoặc nơi cần bảo lưu các cookie và trạng thái bộ nhớ cache cụ thể.

  3. Dễ sử dụng: Mặc dù có khả năng nâng cao, BotRight rất dễ sử dụng. API của nó được cấu trúc để hợp lý hóa các nhiệm vụ tự động hóa phức tạp, loại bỏ nhiều phần lớn chi phí kỹ thuật thường đi kèm với thiết lập Selenium. Người mới bắt đầu có thể bắt đầu nhanh chóng, trong khi các chuyên gia có thể tận dụng sự linh hoạt của BotRight để xây dựng các giải pháp tùy chỉnh cao.

  4. Khả năng mở rộng cho các quy trình làm việc phức tạp: BotRight thích nghi tốt với các nhiệm vụ nâng cao hơn, bao gồm xử lý các trang web được cung cấp năng lượng bởi AJAX, quản lý trích xuất dữ liệu phân trang, giải quyết CAPTCHA và hơn thế nữa. Khi được ghép nối với các giải pháp CAPTCHA như CapSolver, BotRight có thể xử lý các quy trình làm việc yêu cầu bỏ qua CAPTCHA, cho phép bạn tự động hóa ngay cả các trang web được bảo vệ nghiêm ngặt.

  5. Tiện ích mở rộng và plugin tích hợp: BotRight hỗ trợ việc đưa vào các tiện ích mở rộng và plugin khác nhau để nâng cao khả năng tự động hóa. Ví dụ: việc sử dụng các công cụ như CapSolver trong BotRight giúp quản lý các thử thách CAPTCHA, mở khóa một phạm vi rộng hơn các trang web để trích xuất dữ liệu hoặc tự động hóa.


Cài đặt Botright

Trước khi bắt đầu, hãy đảm bảo rằng bạn đã cài đặt Python 3.7 trở lên trên hệ thống của mình. Thực hiện theo các bước sau để cài đặt Botright:

  1. Cài đặt Botright:

    bash Copy
    pip install botright
  2. Cài đặt Trình quản lý WebDriver:

    Botright dựa vào gói webdriver_manager để quản lý trình điều khiển trình duyệt.

    bash Copy
    pip install webdriver-manager
  3. Xác minh cài đặt:

    Tạo một tệp Python mới và nhập Botright để đảm bảo rằng nó đã được cài đặt chính xác.

    python Copy
    from botright import Botright

    Nếu không có lỗi xảy ra, Botright đã được cài đặt chính xác.


Tạo Trình trích xuất dữ liệu cơ bản

Hãy tạo các kịch bản đơn giản để trích xuất dữ liệu từ quotes.toscrape.com bằng Botright.

Trích xuất dữ liệu Quotes

Kịch bản: scrape_quotes.py

python Copy
from botright import Botright

def scrape_quotes():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        quotes = bot.find_elements_by_css_selector("div.quote")
        for quote in quotes:
            text = quote.find_element_by_css_selector("span.text").text
            author = quote.find_element_by_css_selector("small.author").text
            print(f"\"{text}\" - {author}")

if __name__ == "__main__":
    scrape_quotes()

Chạy kịch bản:

bash Copy
python scrape_quotes.py

Kết quả đầu ra:

Copy
“The world as we have created it is a process of our thinking. It cannot be changed without changing our thinking.” - Albert Einstein
...

Giải thích:

  • Chúng ta sử dụng Botright dưới dạng trình quản lý ngữ cảnh để đảm bảo thiết lập và dỡ bỏ chính xác.
  • Chúng ta điều hướng đến trang web bằng bot.get().
  • Chúng ta tìm tất cả các yếu tố trích dẫn và trích xuất văn bản và tác giả.

Xử lý phân trang

Kịch bản: scrape_quotes_pagination.py

python Copy
from botright import Botright

def scrape_all_quotes():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        while True:
            quotes = bot.find_elements_by_css_selector("div.quote")
            for quote in quotes:
                text = quote.find_element_by_css_selector("span.text").text
                author = quote.find_element_by_css_selector("small.author").text
                print(f"\"{text}\" - {author}")

            # Kiểm tra xem có trang tiếp theo hay không
            next_button = bot.find_elements_by_css_selector('li.next > a')
            if next_button:
                next_button[0].click()
            else:
                break

if __name__ == "__main__":
    scrape_all_quotes()

Giải thích:

  • Chúng ta lặp qua các trang bằng cách kiểm tra xem nút "Tiếp theo" có sẵn hay không.
  • Chúng ta sử dụng find_elements_by_css_selector để xác định vị trí các yếu tố.
  • Chúng ta nhấp vào nút "Tiếp theo" để điều hướng đến trang tiếp theo.

Trích xuất dữ liệu nội dung động

Kịch bản: scrape_dynamic_content.py

python Copy
from botright import Botright
import time

def scrape_tags():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/")
        # Nhấp vào liên kết 'Top Ten tags' để tải thẻ một cách động
        bot.click('a[href="/tag/"]')
        # Chờ nội dung động được tải
        time.sleep(2)
        tags = bot.find_elements_by_css_selector("span.tag-item > a")
        for tag in tags:
            tag_name = tag.text
            print(f"Tag: {tag_name}")

if __name__ == "__main__":
    scrape_tags()

Giải thích:

  • Chúng ta điều hướng đến trang thẻ bằng cách nhấp vào liên kết.
  • Chúng ta chờ nội dung động được tải bằng time.sleep().
  • Chúng ta trích xuất và in các thẻ.

Gửi biểu mẫu và đăng nhập

Kịch bản: scrape_with_login.py

python Copy
from botright import Botright

def login_and_scrape():
    with Botright() as bot:
        bot.get("https://quotes.toscrape.com/login")
        # Điền vào biểu mẫu đăng nhập
        bot.type('input#username', 'testuser')
        bot.type('input#password', 'testpass')
        bot.click("input[type='submit']")

        # Xác minh đăng nhập bằng cách kiểm tra liên kết đăng xuất
        if bot.find_elements_by_css_selector('a[href="/logout"]'):
            print("Đăng nhập thành công!")

            # Bây giờ hãy trích xuất dữ liệu các trích dẫn
            bot.get("https://quotes.toscrape.com/")
            quotes = bot.find_elements_by_css_selector("div.quote")
            for quote in quotes:
                text = quote.find_element_by_css_selector("span.text").text
                author = quote.find_element_by_css_selector("small.author").text
                print(f"\"{text}\" - {author}")
        else:
            print("Đăng nhập thất bại.")

if __name__ == "__main__":
    login_and_scrape()

Giải thích:

  • Chúng ta điều hướng đến trang đăng nhập và điền vào thông tin xác thực.
  • Chúng ta xác minh đăng nhập bằng cách kiểm tra xem liên kết đăng xuất có tồn tại hay không.
  • Sau đó, chúng ta tiến hành trích xuất nội dung có sẵn cho người dùng đã đăng nhập.

Lưu ý: Vì quotes.toscrape.com cho phép bất kỳ tên người dùng và mật khẩu nào để minh họa, chúng ta có thể sử dụng thông tin xác thực giả.


Tích hợp CapSolver vào Botright

Mặc dù quotes.toscrape.com không có CAPTCHA, nhưng nhiều trang web thực tế lại có. Để chuẩn bị cho những trường hợp như vậy, chúng ta sẽ trình bày cách tích hợp CapSolver vào kịch bản Botright của mình bằng cách sử dụng tiện ích mở rộng trình duyệt CapSolver.

Tải xuống tiện ích mở rộng CapSolver

  1. Tải xuống tiện ích mở rộng:

    • Truy cập trang Phát hành CapSolver GitHub.
    • Tải xuống phiên bản mới nhất, ví dụ: capsolver-chrome-extension-v0.2.3.zip.
    • Giải nén nó vào một thư mục ở gốc dự án của bạn, ví dụ: ./capsolver_extension.

Cấu hình tiện ích mở rộng CapSolver

  1. Xác định vị trí config.json:

    • Đường dẫn: capsolver_extension/assets/config.json
  2. Chỉnh sửa config.json:

    json Copy
    {
      "apiKey": "YOUR_CAPSOLVER_API_KEY",
      "enabledForcaptcha": true,
      "captchaMode": "token",
      "enabledForRecaptchaV2": true,
      "reCaptchaV2Mode": "token",
      "solveInvisibleRecaptcha": true,
      "verbose": false
    }
    • Thay thế "YOUR_CAPSOLVER_API_KEY" bằng khóa API CapSolver thực tế của bạn.
    • Đặt enabledForcaptcha và/hoặc enabledForRecaptchaV2 thành true dựa trên các loại CAPTCHA mà bạn mong đợi.
    • Đặt chế độ thành "token" để giải quyết tự động.

Tải tiện ích mở rộng CapSolver trong Botright

Để sử dụng tiện ích mở rộng CapSolver trong Botright, chúng ta cần cấu hình trình duyệt để tải tiện ích mở rộng khi nó khởi động.

Lưu ý: Botright cho phép bạn tùy chỉnh các tùy chọn trình duyệt, bao gồm cả việc thêm tiện ích mở rộng.

Kịch bản đã sửa đổi:

python Copy
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os

def create_bot_with_capsolver():
    # Đường dẫn đến thư mục tiện ích mở rộng CapSolver
    extension_path = os.path.abspath('capsolver_extension')

    # Cấu hình các tùy chọn Chrome
    options = Options()
    options.add_argument(f"--load-extension={extension_path}")
    options.add_argument("--disable-gpu")
    options.add_argument("--no-sandbox")

    # Khởi tạo Botright với các tùy chọn tùy chỉnh
    bot = Botright(options=options)
    return bot

Giải thích:

  • Nhập Options:
    • Từ selenium.webdriver.chrome.options, để đặt các tùy chọn Chrome.
  • Cấu hình các tùy chọn Chrome:
    • Sử dụng options.add_argument() để thêm tiện ích mở rộng CapSolver.
  • Khởi tạo Botright với các tùy chọn:
    • Truyền options vào Botright khi tạo một thể hiện.

Ví dụ về kịch bản với tích hợp CapSolver

Chúng ta sẽ trình bày việc tích hợp bằng cách điều hướng đến một trang web có reCAPTCHA, chẳng hạn như bản demo reCAPTCHA của Google.

Kịch bản: scrape_with_capsolver_extension.py

python Copy
from botright import Botright
from selenium.webdriver.chrome.options import Options
import os
import time

def solve_captcha_and_scrape():
    # Đường dẫn đến thư mục tiện ích mở rộng CapSolver
    extension_path = os.path.abspath('capsolver_extension')

    # Cấu hình các tùy chọn Chrome
    options = Options()
    options.add_argument(f"--load-extension={extension_path}")
    options.add_argument("--disable-gpu")
    options.add_argument("--no-sandbox")

    # Khởi tạo Botright với các tùy chọn tùy chỉnh
    with Botright(options=options) as bot:
        bot.get("https://www.google.com/recaptcha/api2/demo")

        # Chờ CAPTCHA được giải quyết bởi CapSolver
        print("Đang chờ CAPTCHA được giải quyết...")
        # Điều chỉnh thời gian ngủ dựa trên thời gian giải quyết trung bình
        time.sleep(15)

        # Xác minh xem CAPTCHA đã được giải quyết bằng cách kiểm tra nội dung trang
        if "Verification Success" in bot.page_source:
            print("CAPTCHA đã được giải quyết thành công!")
        else:
            print("CAPTCHA chưa được giải quyết hoặc đã thất bại.")

if __name__ == "__main__":
    solve_captcha_and_scrape()

Giải thích:

  • Thiết lập các tùy chọn Chrome:
    • Bao gồm tiện ích mở rộng CapSolver trong phiên trình duyệt.
  • Khởi tạo Botright với các tùy chọn:
    • Truyền options khi tạo thể hiện Botright.
  • Điều hướng đến trang web mục tiêu:
    • Sử dụng bot.get() để điều hướng đến trang web có reCAPTCHA.
  • Chờ CAPTCHA được giải quyết:
    • Tiện ích mở rộng CapSolver sẽ tự động giải quyết CAPTCHA.
    • Sử dụng time.sleep() để chờ; điều chỉnh thời gian theo yêu cầu.
  • Xác minh giải pháp CAPTCHA:
    • Kiểm tra nội dung trang để xác nhận xem CAPTCHA đã được giải quyết hay chưa.

Lưu ý quan trọng:

  • Đường dẫn tiện ích mở rộng:
    • Đảm bảo extension_path trỏ chính xác đến thư mục tiện ích mở rộng CapSolver của bạn.
  • Thời gian chờ:
    • Thời gian giải quyết có thể thay đổi; điều chỉnh time.sleep() cho phù hợp.
  • Quản lý trình điều khiển:
    • Botright quản lý WebDriver ở bên trong; việc truyền options tùy chỉnh trình điều khiển.
  • Tuân thủ:
    • Hãy đảm bảo rằng bạn tuân thủ các điều khoản dịch vụ của trang web mà bạn đang trích xuất dữ liệu.

Chạy kịch bản:

bash Copy
python scrape_with_capsolver_extension.py

Mã bổ sung

Hãy nhận Mã bổ sung cho các giải pháp captcha hàng đầu tại 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 lần.

Kết luận

Bằng cách tích hợp CapSolver với Botright bằng cách sử dụng tiện ích mở rộng trình duyệt CapSolver, bạn có thể tự động hóa việc giải quyết CAPTCHA trong các dự án trích xuất dữ liệu web của mình. Điều này đảm bảo việc trích xuất dữ liệu không bị gián đoạn, ngay cả từ các trang web được bảo vệ bởi CAPTCHA.

Những điểm chính cần lưu ý:

  • Botright đơn giản hóa việc tự động hóa web với các tương tác giống con người.
  • Tiện ích mở rộng trình duyệt CapSolver có thể được tích hợp vào các kịch bản Botright.
  • Việc cấu hình chính xác tiện ích mở rộng và các tùy chọn trình duyệt là rất quan trọng.

Xem thêm

Apr 30, 2026

Lỗi 1020 của Cloudflare: Truy cập bị từ chối trong trích xuất dữ liệu web & Bảo vệ WAF

Hãy học cách xác định nguyên nhân gây ra lỗi Cloudflare 1020 Truy cập Bị Từ Chối, cách Tường lửa Ứng dụng Web và phát hiện bot hoạt động, và cách các nhà phát triển giảm thiểu kết quả dương tính giả trong các quy trình tự động hợp lệ.

Anh Tuan
Anh Tuan
Apr 29, 2026

Theo dõi Giá Sản Phẩm Được Bảo Vệ Bằng AWS WAF Trong n8n Với CapSolver

Học cách sử dụng mẫu CapSolver n8n để theo dõi các trang sản phẩm được bảo vệ bởi AWS WAF, giải quyết các thách thức, trích xuất giá cả, so sánh các thay đổi và kích hoạt cảnh báo tự động.

Anh Tuan

Nội dung

Anh Tuan
Apr 29, 2026

Các tác nhân AI trong SEO: Từ nghiên cứu từ khóa đến thu thập dữ liệu tự động

Học cách các tác nhân AI trong SEO tự động hóa nghiên cứu từ khóa, phân tích đối thủ cạnh tranh và thu thập dữ liệu – và cách xử lý các thách thức CAPTCHA trong quy trình của bạn với CapSolver.

Anh Tuan
Anh Tuan
Apr 29, 2026

Tài liệu API Giải quyết CAPTCHA cho Nhà phát triển: Hướng dẫn năm 2026

Nâng cao kỹ năng giải CAPTCHA với tài liệu API toàn diện dành cho nhà phát triển của chúng tôi. Học cách tích hợp CapSolver để xử lý reCAPTCHA, AWS WAF và nhiều hơn nữa.

Anh Tuan
Anh Tuan
All