DEV Community

KazKN
KazKN

Posted on

Cách quét thành viên nhóm Zalo và xuất danh sách ra Excel

Bạn quản lý một cộng đồng Zalo và cần danh sách thành viên để đối chiếu, làm
báo cáo hoặc chuẩn bị dữ liệu CRM. Cách thủ công là mở từng nhóm, cuộn danh
sách, sao chép từng tên và ghép lại trong Excel. Với vài chục thành viên thì
được. Với nhiều nhóm, quy trình này nhanh chóng trở thành một công việc lặp lại
và dễ sai.

Hướng dẫn này chỉ cách xuất những thành viên mà tài khoản của bạn nhìn thấy
trong các nhóm đã tham gia
sang CSV, Excel hoặc JSON.

Minh bạch: Tôi xây dựng Zalo Data Exporter. Nếu bạn đăng ký hoặc chạy
Actor qua liên kết trong bài, tôi có thể nhận doanh thu từ Apify mà bạn không
phải trả thêm.

“Quét thành viên nhóm Zalo” ở đây có nghĩa gì?

Đây không phải là công cụ tìm số điện thoại công khai hoặc xâm nhập nhóm ẩn.
Actor kết nối tài khoản Zalo của chính bạn bằng QR tạm thời và đọc dữ liệu hiển
thị cho tài khoản đó.

Kết quả được tách thành ba loại:

Dataset view Dữ liệu chính
Groups ID nhóm, tên nhóm, số thành viên hiển thị
Group members ID nhóm, ID người dùng, tên hiển thị, khóa bản ghi
Contacts and profiles Tên Zalo, avatar và mối quan hệ khi Zalo hiển thị

Tách view như vậy giúp bạn tải đúng bảng thay vì nhận một file JSON lộn xộn.

Quy trình từng bước

Bước 1: Chọn Group roster

Mở Zalo Data Exporter trên Apify
và giữ preset 👥 Group roster.

Không cần nhập cookie, token Zalo, IMEI, proxy hoặc mật khẩu phiên. Form chỉ hỏi
kết quả và giới hạn bạn muốn.

Bước 2: Giữ giới hạn lần đầu nhỏ

Khởi đầu với:

{
  "exportMode": "groupRoster",
  "accountAlias": "main",
  "maxGroups": 1,
  "maxMembersPerGroup": 100
}
Enter fullscreen mode Exit fullscreen mode

Một nhóm và 100 thành viên đủ để kiểm tra toàn bộ workflow. Sau khi Dataset
đúng, tăng riêng giới hạn bạn cần.

Bước 3: Quét QR ngay khi run bắt đầu

Ở lần chạy đầu tiên:

  1. Bấm Start.
  2. Mở tab Output.
  3. Bấm ① First run: scan this Zalo QR.
  4. Quét và phê duyệt trong ứng dụng Zalo.
  5. Giữ run mở cho đến khi Dataset xuất hiện.

QR có thời hạn ngắn. Nếu bạn nhận QR_EXPIRED, chạy lại và quét mã mới ngay.

Bước 4: Kiểm tra ba view

Mở Groups trước để chắc chắn bạn đã lấy đúng nhóm. Sau đó mở Group
members
để xem danh sách. Cuối cùng, kiểm tra Contacts and profiles nếu
bạn cần thêm trường hồ sơ mà Zalo hiển thị.

Bước 5: Tải Excel, CSV hoặc JSON

  • Excel/CSV: phù hợp cho lọc, loại trùng, đối chiếu và nhập CRM;
  • JSON: phù hợp cho code, API hoặc kho dữ liệu;
  • Dataset API: phù hợp cho workflow định kỳ.

Dùng Python cho lần chạy sau

Sau khi đã kết nối QR một lần trong Console, bạn có thể tái sử dụng phiên đăng
nhập đã mã hóa:

import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_API_TOKEN"])
run = client.actor("kazkn/zalo-member-profile-exporter").call(run_input={
    "exportMode": "groupRoster",
    "accountAlias": "main",
    "maxGroups": 1,
    "maxMembersPerGroup": 100,
})

rows = client.dataset(run["defaultDatasetId"]).list_items().items
members = [row for row in rows if row.get("recordType") == "groupMember"]
print(f"{len(members)} visible members exported")
Enter fullscreen mode Exit fullscreen mode

Mỗi tài khoản Zalo khác nên dùng một accountAlias khác. Không chia sẻ
APIFY_API_TOKEN và không dán token vào chatbot.

Làm sạch dữ liệu trước khi đưa vào CRM

Một danh sách thành viên không tự động trở thành lead list. Trước khi nhập CRM:

  1. giữ recordKey hoặc cặp groupId + userId làm khóa ổn định;
  2. giữ tên nhóm để biết nguồn của mỗi dòng;
  3. không suy đoán số điện thoại khi trường đó không hiển thị;
  4. loại trùng theo mục tiêu của bạn: một người có thể thuộc nhiều nhóm;
  5. áp dụng thời hạn lưu trữ phù hợp với workflow của bạn.

Những giới hạn cần biết

Actor không đọc nhóm chưa tham gia, thành viên bị ẩn, tin nhắn đã xóa hoặc cơ
sở dữ liệu số điện thoại. Zalo có thể yêu cầu xác minh lại, giới hạn truy cập
hoặc thay đổi dữ liệu trả về. Vì vậy, hãy bắt đầu bằng một tài khoản không quan
trọng và phạm vi nhỏ.

FAQ

Có thể xuất toàn bộ thành viên của mọi nhóm Zalo không?

Không nên hiểu như vậy. Actor chỉ xuất thành viên hiển thị trong những nhóm mà
tài khoản đã kết nối có thể truy cập, trong giới hạn của run.

Có thể chọn một nhóm cụ thể không?

Có. Bạn có thể nhập ID của nhóm đã tham gia trong trường nâng cao. Cách đơn
giản nhất là chạy một lần nhỏ, lấy ID từ view Groups, rồi dùng ID đó ở run
tiếp theo.

Có cần cài phần mềm trên máy không?

Không. Actor chạy trên Apify. Bạn chỉ cần trình duyệt để cấu hình và điện thoại
để phê duyệt QR lần kết nối đầu tiên.

Chạy thử với một nhóm

Video ở đầu bài cho thấy toàn bộ quy trình từ QR đến Excel. Hãy lặp lại đúng
workflow đó với một nhóm và tối đa 100 thành viên trước khi mở rộng.

👉 Xuất thành viên nhóm Zalo ra Excel hoặc CSV


Liên kết Apify trong bài hỗ trợ nhà phát triển của Actor. Dữ liệu trả về phụ
thuộc vào quyền hiển thị của tài khoản đã kết nối.

Top comments (0)