Code auto post bài group facebook với node js và selenium

Để tự động hóa được nhiều việc trên facebook chúng ta cần phải có một ngôn ngữ lập trình mạnh và một cơ chế đọc, ghi dữ liệu hiệu quả. Trước khi biết đến puppeteer mình chỉ biết đến Selenium. Do đó mình chọn bộ công cụ Node.JS + Selenium Webdriver để viết tool auto.
Công cụ đơn giản đầu tiên mình viết đó là

Tự động đăng bài lên group facebook

Quá trình hoạt động auto thì cũng khá đơn giản

  1. Mở trình duyệt và vào trang login
  2. Tự động điền email và password, nhấn login
  3. Chuyển đến trang group đầu tiên
  4. Điền bài post và nhấn đăng
  5. Lặp lại cho đến hết danh sách group

Cách sử dụng

  1. Tải code về
  2. Giải nén
  3. Chỉnh sửa thông tin đăng nhập, nội dung cần đăng, các group cần đăng trong file index.js
  4. cd vào thư mục project
  5. Chạy lệnh npm install để cài thư viện
  6. Chạy lệnh npm start để bắt đầu

Để xem mã nguồn và tải về bạn vui lòng vào trang github của project

Nếu là new bie, có thể bạn cần hướng dẫn chi tiết hơn về Cách viết Phần mềm auto đăng bài facebook miễn phí với Node.JS và Selenium

1 Like

Thanks thớt…Vừa like và fork xong …Để khi nào tham khảo.Bác biết các nào để login vào Google bằng Selenium không ?? Mình làm toàn bị chặn vs cái thông báo trình duyệt không an toàn của anh Gồ

2 Likes

Chào bạn. Cái này chắc khó. Mình cũng đang cố gắng đăng nhập vào một dịch vụ khác. Thử nhiều cách gần như phải từ bỏ vì trang login nó dùng cloudflare bảo vệ kỹ quá. Trình duyệt bất thường là nó check ra liền.

Giải pháp của mình đó là:

Dùng Cookie.

Vì thường dịch vụ nó chỉ bảo vệ trang đăng nhập kỹ thôi. Trang nội dung sau đăng nhập thì nó ko bảo vệ kỹ như vậy.

Sau khi đăng nhập thủ công vào trang đó rồi mở cookie lên và xóa một số cookie đi để loại trừ dần và mò ra cái cookie nào là quan trọng nhất quyết định quyền truy cập. Sao chép nó qua trình duyệt chưa đăng nhập là nó hoạt động.
Tiếp theo mình sẽ thử đưa cookie vào trình duyệt thông qua puppeteer mình thấy puppeteer tiện hơn.

2 Likes

Trước mình thấy trên MMO4ME cũng có 1 bạn viết tool auto dùng cookie, nhưng mình muốn có thể login thì end user dùng sẽ dễ hơn vì k phải thao tác lấy cookie phức tạp…Cơ mà nhiều site giờ họ bảo vệ kĩ quá không ăn cái thông báo trình duyệt không an toàn thì cũng k pass đc Captcha .

1 Like

Bạn thử nạp cookie một lần xem sao. Có thể có một lần cookie sau đó logout ra đăng nhập lại sẽ không bị cảnh báo không trình duyệt không an toàn.

Mô phỏng quá trình như sau:

  1. Bạn dùng extention EditThisCookie để export tất cả cookie của domain vào clipboard
  2. Dán vào 1 file trong project ví dụ như cookies.json
  3. Dùng thư viện fs của node.js đọc file, dùng hàm của selenium để ghi cookie
  4. Truy cập trang
  5. Logout
  6. Login
  7. Dùng hàm của selenium lấy cookies mới từ trình duyệt
  8. Dùng thư viện fs của node.js lưu cookies mới vào cookies.json
    – kết thúc - -

Thật ra quá trình lưu và nạp cookie là cần thiết. Đàng nào cũng phải làm bởi vì sẽ giảm phần lớn số lần đăng nhập, khỏi bị block ip. Cái khác duy nhất ở đây là mình nạp sẵn 1 lần cookies thôi.

2 Likes

Thanks bác…Để khi nào rảnh mình sẽ thử :slight_smile:

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?