0

Cố lên nào ! Các bạn sắp hoàn thiện chuỗi bài hướng dẫn về iMacro cơ bản của tôi rồi đó. Tôi tin ở bài hướng dẫn này các bạn sẽ thu lượm được những kiến thức cần thiết để hướng tới những dự án đồ sộ hơn..

Facebook, mỗi ngày có khoảng gần 1 tỷ người sử dụng, nó là đề tài luôn HOT bởi khả năng lan truyền tin tức, sự kiện, scandal,.. quá mạnh mẽ. Điều tôi muốn nói ở đây là CODE web của Facebook thực sự rất phức tạp, khiến cho việc viết Script iMacro trở nên khó khăn hơn.

Để có thể làm được Auto ở phần này thì các bạn cần biết cách SOI code website, mục đích là tìm những thẻ (TAG), đối tượng (SELECTOR) cần thao tác. Vì khi bạn sử dụng công cụ Rec của iMacro để ghi lại thao tác rồi chạy nó sẽ mất tính đồng bộ .. Hơi rắc rối nhưng làm rồi sẽ hiểu …

Tôi sẽ hướng dẫn các bạn làm Facebook Spam Inbox Mini Script iMacro. Và tiến trình hoạt động của đoạn mã nó như này này:

Chúng ta tạo 2 vòng lặp – 2 tập tin *.iim: 

Một vòng lặp lấy ID người dùng (UID), một vòng lặp Spam Inbox dựa trên danh sách UID vừa lấy được ở vòng lặp trước đó.

Vòng lặp thứ nhất – fbSpamInboxMini_getUID.iim

Soi code web và xác định thẻ cần lấy dữ liệu:

Tôi sử dụng lệnh dưới đây để lấy dữ liệu HTM của thẻ LI chứa thông tin người dùng ở trang https://www.facebook.com/profile.php?id=UID&sk=friends. Thay UID của bạn vào nhé. Lưu dữ liệu vào biến dựng sẵn !EXTRACT sau đó chuyển vào biến người dùng {{uid_get}}.

Biến {{!LOOP}} là biến chạy từ 1 đến 20.

TAG POS={{!LOOP}} TYPE=LI ATTR=CLASS:_698 EXTRACT=HTM
SET uid_get {{!EXTRACT}}

Đến bước quan trọng đây, phần này sử dụng khả năng nhúng Javascript vào IIM qua lệnh EVAL. Một số cậu lệnh Javascript đơn giản về chuỗi ký tự các bạn cần dùng đấy.

Sau khi bào chế dữ liệu HTM lấy được ở trên qua Javascript sẽ trích xuất là UID chuẩn của mỗi người dùng lưu vào biên {{uid}}

SET !VAR1 EVAL(“uid_temp=\”{{uid_get}}\”;uid_temp_cursor = uid_temp.search(\”data-profileid\”);uid_temp_get = uid_temp.substring(uid_temp_cursor+16, uid_temp_cursor+31);uid_temp_get = uid_temp_get.replace(/\D+/g,”);uid_temp_get;”)
SET uid {{!VAR1}}

Tiếp tục, lưu biến {{uid}} vào !EXTRACT

SET !EXTRACT {{uid}}

Lưu dữ liệu từ !EXTRACT vào tập tin getUIDlist.csv trong thư mục Downloads của iMacros

SAVEAS TYPE=EXTRACT FOLDER=* FILE=getUIDlist.csv

Khởi chạy vòng lặp này: Mở firefox trong panel của iMacro ở tab Play dưới mục nhập Max phần Play (Loop) nhập vào 20 và click Play (Loop). Đợi chạy xong .. chúng ta sang vòng lặp SPAM INBOX.

Vòng lặp thứ hai – fbSpamInboxMini_sendInbox.csv

Cài đặt các biến dưới đây trên đầu tập tin code.

inbox_ctn: Nội dung SPAM.
!FOLDER_DATASOURCE: Thư mục lưu tập tin ở vòng lặp thứ nhất.
!DATASOURCE: Tên tập tin ở vòng lặp thứ nhất.
!DATASOURCE_LINE: Dòng dữ liệu trong tập tin ở vòng lặp thứ nhất. Biến {{!LOOP}} chạy từ 1 đến 20.
uid: Dữ liệu lấy ở cột 1 của tập tin ở vòng lặp thứ nhất.

SET inbox_ctn “Good morning !!!”
SET !FOLDER_DATASOURCE C:\iMacros\Downloads
CMDLINE !DATASOURCE getUIDlist.csv
SET !DATASOURCE_LINE {{!LOOP}}
SET uid {{!COL1}}

Sau khi thiết đặt các biến dữ liệu đến phần thực hiện thao tác.

Mouse hover vào tên người dùng thông qua uid

TAG POS=1 TYPE=A ATTR=data-hovercard:/ajax/hovercard/user.php?id={{uid}}* CONTENT=EVENT:MOUSEOVER

Đợi 1 giây

WAIT SECONDS=1

Click vào gửi tin nhắn mới tới bạn có uid

TAG POS=1 TYPE=A ATTR=TXT:Message

Nhập nội dung tin nhắn cần gửi vào vùng chọn gửi tin của người có uid

TAG POS=1 TYPE=TEXTAREA ATTR=ONKEYDOWN:run_with(this,[“legacy:control-textarea”],function(){TextAreaControl.getInstance(this)});&&DATA-FT:{“tn”:”+N”}&&CLASS:uiTextareaAutogrow_552m&&TXT: CONTENT={{inbox_ctn}}

Nhấn Enter để gửi tin

EVENT TYPE=KEYPRESS SELECTOR=”DIV:nth-of-type(3)>DIV>TEXTAREA” KEY=13

Đợi 1 giây

WAIT SECONDS=1

Tắt inbox với người dùng có uid

TAG POS=1 TYPE=A ATTR=aria-label:*Closetab*&&data-hover:*tooltip*

Xem video dễ hiểu hơn


Lời kết

Chúc các bạn một ngày vui vẻ và làm việc hiệu quả !

Còn vấn đề nào mà chưa tự giải quyết được không ?. Bằng cách để lại vấn đề của bạn tại chuyên mục bình luận. Mọi người sẽ cùng xử lý giúp bạn đấy.

Đăng nhận xét Blogger