Cách sử dụng AdsPower với Python: Hướng dẫn tự động hóa
Take a Quick Look
Tìm hiểu cách sử dụng AdsPower với Python qua Local API, Selenium và Playwright. Thiết lập từng bước, ví dụ mã và mẹo tự động hóa đa tài khoản.
🔥 Limited-Time Offer! Save extra 10% off on your first monthly plan with code: Anitdetect10
Sign upCách sử dụng AdsPower với Python: Hướng dẫn tự động hóa
AdsPower là trình duyệt chống phát hiện tạo ra các hồ sơ trình duyệt biệt lập với dấu vân tay duy nhất, để mỗi phiên trông giống như một thiết bị thật riêng biệt. Python là ngôn ngữ lập trình đa mục đích với hệ sinh thái phong phú cho các yêu cầu HTTP và tự động hóa trình duyệt. Kết hợp lại, chúng cho phép bạn điều khiển hàng chục hoặc hàng trăm hồ sơ biệt lập theo chương trình — không cần nhấp chuột thủ công.
Hướng dẫn này giải thích cách hai sản phẩm hoạt động cùng nhau, cách thiết lập kết nối và cách viết các script Python thực tế sử dụng Selenium và Playwright. Nó cũng đề cập đến các vấn đề mà sự kết hợp này giải quyết và những cạm bẫy cần tránh.
Tại sao kết hợp AdsPower với Python?

Cách sử dụng AdsPower với Python: Hướng dẫn tự động hóa - Tại sao kết hợp AdsPower với Python?.
Quản lý nhiều tài khoản thủ công rất chậm và dễ xảy ra lỗi. AdsPower giải quyết vấn đề danh tính: mỗi hồ sơ có cấu hình Canvas, WebGL, User Agent và IP riêng, nên các tài khoản không bị liên kết. Python giải quyết vấn đề quy mô: nó có thể khởi động hồ sơ, gắn trình điều khiển tự động hóa, thực hiện tác vụ và đóng hồ sơ trong một vòng lặp.
Sự kết hợp này hữu ích cho:
- Vận hành thương mại điện tử — cập nhật danh sách hàng loạt, kiểm tra giá và giám sát đơn hàng trên các tài khoản người bán.
- Tiếp thị truyền thông xã hội — đăng bài và tương tác theo lịch trình trên nhiều hồ sơ.
- Tiếp thị liên kết — chạy chiến dịch CPA mà không kích hoạt lệnh cấm nền tảng.
- Thu thập dữ liệu web — thu thập dữ liệu từ các trang chặn yêu cầu lặp lại từ một dấu vân tay.
- QA và kiểm thử — xác minh cách một trang hoạt động dưới các dấu vân tay thiết bị khác nhau.
Cách AdsPower và Python kết nối
AdsPower chạy một Local API trên máy của bạn. Theo mặc định, nó lắng nghe trên http://local.adspower.net:50325 (hoặc http://127.0.0.1:50325). Các script Python gửi yêu cầu HTTP đến API này để khởi động và dừng hồ sơ trình duyệt. Khi một hồ sơ khởi động, API trả về thông tin kết nối — đường dẫn WebDriver và địa chỉ gỡ lỗi cho Selenium, hoặc điểm cuối WebSocket cho Playwright và Puppeteer.
Script Python của bạn sau đó gắn trình điều khiển tự động hóa vào trình duyệt đã chạy đó. Đây là điểm khác biệt chính so với việc khởi chạy trình duyệt thông thường: bạn không tạo phiên bản trình duyệt mới, bạn kết nối với phiên bản mà AdsPower đã mở với dấu vân tay và proxy chính xác.
Điều kiện tiên quyết
Trước khi viết mã, hãy đảm bảo bạn có:
- AdsPower đã cài đặt và đang chạy trên cùng máy với script Python của bạn (hoặc có thể truy cập qua mạng).
- Local API được bật trong cài đặt AdsPower.
- Khóa API nếu cài đặt Local API của bạn yêu cầu. Bạn có thể tìm thấy nó trong phần API của ứng dụng AdsPower.
- Một hồ sơ đã tạo trong AdsPower. Ghi lại
user_idcủa nó (còn gọi làprofile_idtrong các phiên bản API mới hơn). - Python 3.10 trở lên đã cài đặt.
- Các gói cần thiết đã cài đặt:
pip install requests selenium
# hoặc cho Playwright
pip install requests playwright
playwright install chromium
Nếu bạn thích SDK có kiểu, cũng có gói adspower do cộng đồng duy trì trên PyPI, bao bọc Local API với các client đồng bộ và bất đồng bộ. Nó không bắt buộc, nhưng có thể giảm mã mẫu cho quản lý hồ sơ và proxy.
Từng bước: AdsPower với Python Selenium

Cách sử dụng AdsPower với Python: Hướng dẫn tự động hóa - Từng bước: AdsPower với Python Selenium.
Thiết lập phổ biến nhất sử dụng requests để gọi Local API và selenium để điều khiển trình duyệt.
1. Khởi động hồ sơ qua Local API
import requests
ads_id = "your_profile_id"
api_key = "your_api_key"
open_url = f"http://local.adspower.net:50325/api/v1/browser/start?user_id={ads_id}"
headers = {"Authorization": f"Bearer {api_key}"}
resp = requests.get(open_url, headers=headers).json()
if resp["code"] != 0:
raise RuntimeError(f"Failed to start profile: {resp['msg']}")
print("Profile started")
2. Gắn Selenium vào trình duyệt đang chạy
Phản hồi API chứa data.webdriver (đường dẫn ChromeDriver) và data.ws.selenium (địa chỉ gỡ lỗi). Đối với Selenium 4, sử dụng lớp Service:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
chrome_driver = resp["data"]["webdriver"]
debugger_address = resp["data"]["ws"]["selenium"]
service = Service(executable_path=chrome_driver)
options = Options()
options.add_experimental_option("debuggerAddress", debugger_address)
driver = webdriver.Chrome(service=service, options=options)
driver.get("https://www.browserscan.net/")
print(driver.title)
3. Đóng hồ sơ
Luôn dừng hồ sơ khi hoàn tất, nếu không nó sẽ tiếp tục mở và tiêu tốn tài nguyên:
driver.quit()
close_url = f"http://local.adspower.net:50325/api/v1/browser/stop?user_id={ads_id}"
requests.get(close_url, headers=headers)
Từng bước: AdsPower với Python Playwright
Playwright sử dụng điểm cuối WebSocket thay vì địa chỉ gỡ lỗi. Quy trình tương tự, nhưng bạn kết nối qua CDP.
import requests
from playwright.sync_api import sync_playwright
ads_id = "your_profile_id"
api_key = "your_api_key"
open_url = f"http://local.adspower.net:50325/api/v1/browser/start?user_id={ads_id}"
headers = {"Authorization": f"Bearer {api_key}"}
resp = requests.get(open_url, headers=headers).json()
ws_endpoint = resp["data"]["ws"]["puppeteer"]
with sync_playwright() as p:
browser = p.chromium.connect_over_cdp(ws_endpoint)
context = browser.contexts[0]
page = context.pages[0] if context.pages else context.new_page()
page.goto("https://example.com")
print(page.title())
browser.close()
requests.get(f"http://local.adspower.net:50325/api/v1/browser/stop?user_id={ads_id}", headers=headers)
Lưu ý rằng khóa WebSocket được đặt tên là puppeteer ngay cả khi bạn sử dụng Playwright. Điều này là do AdsPower cung cấp điểm cuối Chrome DevTools Protocol mà cả hai công cụ đều có thể sử dụng.
Ví dụ thực tế: xoay vòng hồ sơ để thu thập dữ liệu
Một mẫu phổ biến là lặp qua danh sách ID hồ sơ, thu thập một trang cho mỗi hồ sơ và đóng từng hồ sơ trước khi chuyển sang. Điều này giữ mức sử dụng tài nguyên có thể dự đoán và tránh trộn lẫn dấu vân tay.
import requests, time
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
from selenium.webdriver.chrome.service import Service
API = "http://local.adspower.net:50325"
API_KEY = "your_api_key"
HEADERS = {"Authorization": f"Bearer {API_KEY}"}
PROFILES = ["profile_1", "profile_2", "profile_3"]
def scrape(profile_id, url):
start = requests.get(f"{API}/api/v1/browser/start?user_id={profile_id}", headers=HEADERS).json()
if start["code"] != 0:
print(f"Skip {profile_id}: {start['msg']}")
return None
service = Service(executable_path=start["data"]["webdriver"])
options = Options()
options.add_experimental_option("debuggerAddress", start["data"]["ws"]["selenium"])
driver = webdriver.Chrome(service=service, options=options)
try:
driver.get(url)
time.sleep(2)
return driver.title
finally:
driver.quit()
requests.get(f"{API}/api/v1/browser/stop?user_id={profile_id}", headers=HEADERS)
for pid in PROFILES:
title = scrape(pid, "https://example.com")
print(pid, title)
Đối với các công việc lớn hơn, bạn có thể chạy nhiều hồ sơ song song bằng luồng hoặc asyncio với Playwright. Theo dõi CPU và bộ nhớ, và tôn trọng giới hạn tốc độ của Local API (AdsPower ghi nhận giới hạn toàn cầu và giới hạn nghiêm ngặt hơn trên một số điểm cuối như danh sách hồ sơ).
Cạm bẫy phổ biến và cách tránh
- Quên dừng hồ sơ. Nếu script của bạn gặp sự cố, hồ sơ có thể vẫn mở. Bao bọc công việc trình duyệt trong
try/finallyvà luôn gọi điểm cuối dừng. - Sử dụng sai phiên bản API. AdsPower có các điểm cuối v1 và v2. Các điểm cuối khởi động/dừng v1 được sử dụng rộng rãi và ổn định, nhưng các SDK mới hơn sử dụng v2. Kiểm tra tài liệu Local API chính thức cho phiên bản của bạn.
- Mã hóa cứng khóa API. Lưu trữ khóa trong biến môi trường hoặc trình quản lý bí mật, đặc biệt nếu script chạy trên máy dùng chung.
- Bỏ qua giới hạn tốc độ. Gửi quá nhiều yêu cầu đến Local API có thể gây lỗi. Thêm độ trễ nhỏ hoặc sử dụng client nhận biết tốc độ.
- Trộn hồ sơ trong một phiên trình duyệt. Mỗi hồ sơ nên có phiên bản trình điều khiển riêng. Không tái sử dụng trình điều khiển trên các hồ sơ.
- Giả định trình duyệt là headless. Hồ sơ AdsPower mở ở chế độ bình thường theo mặc định. Nếu bạn cần hoạt động headless, hãy cấu hình trong cài đặt hồ sơ hoặc yêu cầu khởi động.
Khi nào nên sử dụng AdsPower với Python so với các công cụ khác
Nếu mục tiêu chính của bạn là thu thập dữ liệu đơn giản từ các trang không có biện pháp chống bot nghiêm ngặt, một thư viện thu thập tiêu chuẩn có thể đủ. AdsPower với Python trở nên có giá trị khi bạn cần cô lập dấu vân tay, xoay proxy và duy trì tài khoản cùng lúc.
Để có cái nhìn tổng quan hơn về các phương pháp thu thập dữ liệu, xem Thu thập dữ liệu tự động: Công cụ, Phương pháp & Thực tiễn tốt nhất. Nếu bạn đang so sánh các trình duyệt chống phát hiện trước khi quyết định, so sánh AdsPower vs Undetectable vs Genlogin bao gồm chất lượng dấu vân tay, hỗ trợ tự động hóa và giá cả.
Đọc thêm
- Facebook Login: Cách đăng nhập, khắc phục sự cố và giữ an toàn - Tìm hiểu cách đăng nhập Facebook hoạt động, cách đăng nhập trên mọi thiết bị, khắc phục sự cố đăng nhập phổ biến, khôi phục tài khoản và giữ nhiều phiên an toàn.
- Cách sử dụng AdsPower với SMSPool để xác minh đa tài khoản - Hướng dẫn từng bước để ghép hồ sơ chống phát hiện AdsPower với xác minh điện thoại SMSPool: thiết lập, tự động hóa API, ví dụ thực tế và cạm bẫy.
- AdsPower vs Indigo vs Incogniton: So sánh trình duyệt chống phát hiện - So sánh AdsPower, Indigo và Incogniton: dấu vân tay, công cụ, tự động hóa, làm việc nhóm và giá cả. Tìm hiểu trình duyệt chống phát hiện nào nên chọn.
Nguồn và đọc thêm
- Mẫu mã - Mẫu mã để tự động hóa AdsPower với Python, Javascript và Java. Mẫu mã Chrome Python Selenium Bản demo đã vượt qua kiểm tra trong phiên bản selenium 3.141.0 import requests,time from selenium import webdriver fro
- adspower - SDK Python đồng bộ và bất đồng bộ có kiểu cho AdsPower Local API.
- Proxy-Seller × AdsPower: Hướng dẫn thu thập dữ liệu web - Thưởng thức video và nhạc bạn yêu thích, tải lên nội dung gốc, chia sẻ với bạn bè, gia đình và cả thế giới trên YouTube.
Câu hỏi thường gặp
Tôi có cần khóa API để sử dụng AdsPower với Python không?
Điều này phụ thuộc vào cấu hình Local API của bạn. Một số cài đặt cho phép yêu cầu cục bộ không xác thực, trong khi những cài đặt khác yêu cầu Bearer token. Nếu yêu cầu của bạn trả về lỗi ủy quyền, hãy thêm tiêu đề Authorization: Bearer <api_key>.
Tôi có thể sử dụng AdsPower với Python trên máy chủ từ xa không?
Có, nhưng Local API phải có thể truy cập từ máy chủ. Theo mặc định, nó liên kết với localhost. Đối với thiết lập từ xa, bạn có thể cần phơi bày API một cách an toàn hoặc sử dụng giải pháp đường hầm. Một số SDK cung cấp tùy chọn viết lại điểm cuối cho Docker hoặc cấu trúc từ xa.
Thư viện tự động hóa Python nào hoạt động tốt nhất với AdsPower?
Selenium và Playwright đều được hỗ trợ chính thức. Selenium phổ biến hơn trong các script hiện có; Playwright cung cấp thực thi nhanh hơn và hỗ trợ bất đồng bộ tích hợp. Chọn dựa trên sự quen thuộc của nhóm bạn và liệu bạn có cần thực thi song song hay không.
Tôi có thể chạy bao nhiêu hồ sơ cùng lúc?
Giới hạn phụ thuộc vào CPU, RAM của máy bạn và số lượng proxy bạn có. Một máy tính để bàn thông thường có thể xử lý 5–20 hồ sơ đồng thời cho các tác vụ nhẹ. Đối với khối lượng công việc nặng hơn, phân phối trên nhiều máy hoặc sử dụng thiết lập dựa trên đám mây.
AdsPower có cung cấp SDK Python không?
AdsPower cung cấp mẫu mã và Local API. Một SDK có kiểu do cộng đồng duy trì tồn tại trên PyPI, nhưng nó không phải là sản phẩm chính thức của AdsPower. Bạn luôn có thể gọi API trực tiếp với requests.
Kết luận
AdsPower và Python là một cặp thực tế cho bất kỳ ai quản lý nhiều danh tính trực tuyến. AdsPower xử lý cô lập dấu vân tay và gán proxy; Python xử lý điều phối, xử lý dữ liệu và quy mô. Bắt đầu với một hồ sơ và script Selenium đơn giản, sau đó mở rộng sang các worker Playwright song song khi nhu cầu của bạn tăng lên. Giữ khóa API an toàn, luôn đóng hồ sơ và tôn trọng giới hạn tốc độ — và bạn sẽ có một pipeline tự động hóa đáng tin cậy cho thương mại điện tử, tiếp thị, thu thập dữ liệu và kiểm thử.
