Các chủ đề phổ biến: Multilogin X, Multilogin 6, Đăng ký và thanh toán,
Cách khởi chạy CookieRobot bằng Script Runner
Bảng tóm tắt
CookieRobot giúp hồ sơ của bạn trông hợp pháp hơn bằng cách tự động thu thập cookie từ các trang web bạn chọn – không cần thu thập thủ công! Trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách sử dụng để hợp lý hóa quy trình.
Bạn đã quen với tự động hóa hoặc đã hoàn thành một số bước? Sử dụng mục lục bên phải để chuyển thẳng đến những gì bạn cần. Bắt đầu thôi!
Bước 1: thiết lập Postman của bạn
Trước khi sử dụng Postman để chạy điểm cuối API Multilogin X và tự động hóa, hãy đảm bảo cập nhật và kết nối agent của bạn .
Tải xuống và cài đặt Postman từ trang chính thức của họ .
Sau khi cài đặt Postman, hãy mở trang API Multilogin X :
- Ở góc trên bên phải, nhấp vào "Chạy trong Postman"
- Chọn “Postman cho <hệ điều hành của bạn>”
Postman Desktop của bạn sẽ mở ra. Để nhập tất cả các điểm cuối API vào bộ sưu tập cục bộ của bạn :
- Trong “Nhập bộ sưu tập” → chọn không gian làm việc của bạn
- Nhấp vào "Nhập" → tất cả các điểm cuối sẽ có sẵn trong các thư mục


Đăng nhập qua Postman
Bạn cần đăng nhập bằng thông tin đăng nhập của mình để tạo mã thông báo API , cấp cho bạn quyền truy cập điểm cuối API và thực hiện hành động.
Xác định điểm cuối Đăng nhập của Người dùng
- Mở “Bộ sưu tập” → mở rộng thư mục “ Multilogin X API ”
- Mở thư mục “Quản lý quyền truy cập hồ sơ”
- Chọn điểm cuối Đăng nhập người dùng POST ( Yêu cầu POST là gì? )

Chuyển đổi mật khẩu của bạn sang MD5
Bạn cần sử dụng điểm cuối Đăng nhập người dùng để lấy mã thông báo truy cập, nhưng có một điều cần lưu ý: mật khẩu của bạn cần phải được mã hóa thành MD5.
Sau đây là cách sử dụng MD5 Hash Generator để lấy mật khẩu được mã hóa của bạn:
- Nhập mật khẩu Multilogin X của bạn
- Nhấp vào “Tạo”
- Sao chép mật khẩu được mã hóa MD5 của bạn

Nhận mã thông báo API của bạn
Mã thông báo thông thường có hiệu lực trong 30 phút . Nếu bạn có gói Solo (hoặc cao hơn), hãy sử dụng điểm cuối Mã thông báo tự động hóa không gian làm việc cho các tùy chọn kéo dài hơn.
- Trong POST User Sign In → đi đến tab “Body”
- Điền email và mật khẩu MD5 của bạn dưới dạng
“strings”
- Gửi yêu cầu đăng nhập

- Kiểm tra mã thông báo truy cập trong “Phản hồi” khu vực bên dưới → sao chép mọi thứ bên trong dấu ngoặc kép

Bước 2: mở Script Runner
Luôn cập nhật: Script Runner yêu cầu Agent 1.37.4 hoặc mới hơn. Nếu không chắc chắn, hãy làm theo các bước để kiểm tra phiên bản agent của bạn tại đây .
Bây giờ bạn đã đăng nhập và có mã thông báo, bạn có toàn quyền truy cập để sử dụng điểm cuối Script Runner và chạy tập lệnh CookieRobot của mình!
- Quay lại thư mục “Bộ sưu tập” → “ Multilogin X API ”
- Đi đến thư mục “Script Runner”
- Mở điểm cuối POST Start Script Runner để cấu hình yêu cầu API mới!

- Từ tab “Params”, tiến hành đến “Authorization”
- Chọn “Bearer Token ” làm Loại xác thực
- Trong trường “Token” ở bên phải, hãy dán mã thông báo API đã sao chép trước đó

Bằng cách điền vào tab “Authorization” bằng Bearer Token, bạn sẽ có thể phân tích cú pháp các yêu cầu để mở CookieRobot trong Script Runner! 🔑
Thêm tập lệnh CookieRobot
CookieRobot hiện hỗ trợ mọi loại hồ sơ trình duyệt, ngoại trừ hồ sơ di động.
Sau khi mã thông báo của bạn được chèn vào tab Xác thực :
- Tiến hành đến tab “Body”
- Đảm bảo rằng tham số thô được chọn
- Chèn nội dung yêu cầu CookieRobot mẫu (JSON):
{
"script_file": "cookie_robot.py",
"profile_ids": [
{
"profile_id": "profile uuid"
},
{
"profile_id": "profile uuid",
"is_headless": true
}
],
"script_params": [
{
"name": "websites",
"value": ["https://youtube.com","https://google.com","https://fb.com","https://amazon.com"]
},
{
"name": "randomOrder",
"value": true
},
{
"name": "fractionMode",
"value": 0.7
},
{
"name": "processCookieConsent",
"value": true
}
]
}

Tên của tập lệnh CookieRobot là cookie_robot.py
. Nó đã được thêm vào dòng “script_file”
, vì vậy không cần phải cập nhật thủ công.
Bước 3: tùy chỉnh các thông số
Khi khởi chạy CookieRobot , có một số tham số tùy chỉnh ảnh hưởng đến cách thức hoạt động của quy trình thu thập dữ liệu. Các tham số này cho phép người dùng điều chỉnh các cài đặt như trang web mục tiêu, thứ tự thu thập dữ liệu, v.v. Bằng cách tinh chỉnh các tùy chọn này trong phần “script_params”
, người dùng có thể tối ưu hóa hiệu suất của tập lệnh dựa trên nhu cầu cụ thể của họ.
Các tham số CookieRobot có thể tùy chỉnh được đánh dấu bằng màu đỏ trên ảnh chụp màn hình và bên dưới:

“profile_ids”
Danh sách chứa ID hồ sơ, có cấu trúc như sau:
-
“profile_id”
– số ID hồ sơ duy nhất -
“is_ headless ”
– (tùy chọn) chạy ở chế độ headless có thể hạn chế tương tác của bot với một số thành phần trang nhất định
“script_params”
Danh sách chứa một tập hợp các tham số có thể tùy chỉnh, được biểu thị đơn giản bằng:
-
“name”
– tên tham số -
“value”
– giá trị được gán (chuỗi, số nguyên, số thực, JSON, v.v.)
“websites”
Nếu không cung cấp thông tin gì trong tham số “websites”
, robot sẽ sử dụng danh sách mặc định của nó:
websites = [
"https://aliexpress.com",
"https://amazon.com",
"https://ebay.com",
"https://fiverr.com",
"https://google.com",
"https://reddit.com",
"https://twitch.com",
"https://twitter.com",
"https://yahoo.com",
"https://youtube.com",
"https://en.wikipedia.org"
]
Chúng tôi khuyên bạn nên thu thập cookie từ nhiều nguồn để có dấu vân tay chân thực hơn. Hãy xem bài viết Thu thập cookie: mẹo của chúng tôi để biết thêm thông tin.
“randomOrder”
“fractionMode”
Bạn chỉ muốn chạy một phần trang web của mình, thay vì tất cả? Hãy xem cách sử dụng:
- Chọn một số thực giữa 0,0 và 1,0 để thiết lập phần trang web cần chạy
- Đảm bảo rằng
“randomOrder”
được đặt thành“true”
Ví dụ: nếu sử dụng "fractionMode"= “0.5”
, nó sẽ chạy 50% danh sách các trang web theo thứ tự ngẫu nhiên
“processCookieConsent”
Nhiều trang web hiển thị nút "Cho phép cookie" do luật bảo mật như GDPR ( GDPR là gì? ), yêu cầu phải có sự đồng ý của người dùng trước khi theo dõi cookie.
- Đặt thành
“true”
→ CookieRobot sẽ tìm kiếm và cố gắng nhấp vào nút đồng ý tự động (Mặc định) - Đặt thành
“false”
→ sẽ bỏ qua các cửa sổ bật lên cookie, điều này có thể hữu ích nếu:- Bạn đang duyệt các trang web không thuộc EU không hiển thị biểu ngữ cookie
- Bạn không quan tâm đến việc tuân thủ GDPR (ví dụ: sử dụng proxy bên ngoài EU)
Bước 4: chạy CookieRobot
Sau khi các thông số được cấu hình theo nhu cầu của bạn:
- Nhấp vào “Gửi” để chạy yêu cầu POST Start Script Runner
- Kiểm tra phản hồi yêu cầu: Trạng thái 200 OK có nghĩa là thành công!
- Tập lệnh CookieRobot của bạn sẽ khởi chạy các cấu hình đã chọn. Nếu không phải là headless , bạn sẽ có thể xem quá trình thu thập dữ liệu theo thời gian thực! 🔍
Nếu bạn nhận được một 401 Lỗi không được ủy quyền khi gửi yêu cầu, mã thông báo của bạn có thể đã hết hạn. Trong trường hợp này, hãy làm lại tất cả các bước "Nhận mã thông báo API của bạn " .
🚨Cảnh báo: việc bật Cloudflare Zero Trust, proxy bên ngoài hoặc VPN có thể khiến ứng dụng không hoạt động bình thường.

Phần thưởng: bạn có muốn xem ứng dụng mã Python không?
Trong ví dụ này, các thiết lập được cấu hình trong đối tượng payload
, bên trong run_script()
chức năng:
- CookieRobot sẽ chạy qua tệp
cookie_robot.py
- ID hồ sơ hoạt động được đặt thành
ced16576-a67b-4ae5-8459-c07991d50f27
vàec0cf95f-b199-4b1c-b394-af1e01ac9c09
- Cả hai cấu hình sẽ chạy ở chế độ không có headless
- Các trang web là Yahoo.com và Amazon.com và chúng sẽ được truy cập theo thứ tự ngẫu nhiên
- Vì
fractionMode
được đặt thành 1 nên 100% các trang web được liệt kê sẽ được truy cập - CookieRobot sẽ tự động chấp nhận thông báo đồng ý cookie nếu chúng xuất hiện
import logging
import requests
import json
# In project root you need a file called token with your auth token in there
def setup_logging():
"""Set up logging configuration."""
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[
logging.FileHandler("script_runner.log"),
logging.StreamHandler()
]
)
def get_token_from_file():
"""Read the token from a file called 'token' in the project root."""
try:
with open("token", "r") as file:
token = file.read().strip()
return token
except FileNotFoundError:
logging.error("Token file not found in the project root.")
raise
except Exception as e:
logging.error("An error occurred while reading the token file: %s", str(e))
raise
def run_script():
url = "https://launcher.mlx.yt:45001/api/v1/run_script"
headers = {
"Content-Type": "application/json",
"Authorization": f"Bearer {get_token_from_file()}"
}
payload = {
"script_file": "cookie_robot.py",
"profile_ids": [
{
"profile_id": "ced16576-a67b-4ae5-8459-c07991d50f27",
"is_headless": False
},
# {
# "profile_id": "ec0cf95f-b199-4b1c-b394-af1e01ac9c09",
# "is_headless": False
# },
],
"script_params": [
{
"name": "websites",
"value": ["yahoo.com", "amazon.com"]
},
{
"name": "randomOrder",
"value": True
},
{
"name": "fractionMode",
"value": 1
},
{
"name": "processCookieConsent",
"value": True
}
]
}
try:
logging.info("Payload to send: %s", json.dumps(payload, indent=4))
logging.info("Sending request to the script runner endpoint...")
response = requests.post(url, headers=headers, data=json.dumps(payload), timeout=30)
if response.status_code == 200:
logging.info("Script executed successfully.")
logging.info("Response: %s", response.json())
else:
logging.error("Failed to execute script. Status code: %d", response.status_code)
logging.error("Response: %s", response.text)
except requests.exceptions.RequestException as e:
logging.error("An error occurred while making the request: %s", str(e))
if __name__ == "__main__":
setup_logging()
run_script()