Tutorial Kiến thức iMacros căn bản cho người mới

yeuay

Senior
Joined
Aug 6, 2014
Messages
756
Reactions
72
MR
0.000
Bác @s1abmmo hay bác nào biết giúp em vấn đề này với ạ.
Em sử dụng lệnh data nhập dữ liệu từ file csv ở máy tính. Nhưng khi sử dụng bị lỗi, imacros dừng chẳng hạn, thì không biết mình đã dùng đến dòng bao nhiêu của file csv, vậy làm sao để đánh dấu mình đã dùng đến dòng bao nhiêu của file csv. Mỗi lần lỗi nó không hiện thị chạy đến vòng lặp thứ bao nhiêu hay thông báo gì để mình xác định đã lấy đến dữ liệu của dòng nào.
 
Bác @s1abmmo hay bác nào biết giúp em vấn đề này với ạ.
Em sử dụng lệnh data nhập dữ liệu từ file csv ở máy tính. Nhưng khi sử dụng bị lỗi, imacros dừng chẳng hạn, thì không biết mình đã dùng đến dòng bao nhiêu của file csv, vậy làm sao để đánh dấu mình đã dùng đến dòng bao nhiêu của file csv. Mỗi lần lỗi nó không hiện thị chạy đến vòng lặp thứ bao nhiêu hay thông báo gì để mình xác định đã lấy đến dữ liệu của dòng nào.
bạn làm như m cũng đc, tạo lấy một file log.txt nó sẽ lưu lại những cái đã chạy:

vd: copy link web vào file log.txt tương tự bạn làm mail, username,pass....
log.txt được lưu trong iMacros\Downloads nhé.
URL GOTO={{!COL1}}

ADD !EXTRACT {{!COL1}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=log.txt
 
bạn làm như m cũng đc, tạo lấy một file log.txt nó sẽ lưu lại những cái đã chạy:

vd: copy link web vào file log.txt tương tự bạn làm mail, username,pass....
log.txt được lưu trong iMacros\Downloads nhé.
URL GOTO={{!COL1}}

ADD !EXTRACT {{!COL1}}
SAVEAS TYPE=EXTRACT FOLDER=* FILE=log.txt

Bác ơi em cảm ơn nhé, nhưng nếu data đầu vào có 2 cột và em muốn lưu cả 2 cột vào 1 file log.txt thì như nào ạ ?
 

vipqt888

Hero
Joined
Jun 22, 2013
Messages
1,937
Solutions
2
Reactions
1,517
MR
1.847
liên hệ bác thớt mà không thấy rep
 
mìhn có làm theo cách chủ thớt
Fake IP(sock list)
Đầu tiên bạn tạo file (tên bất kì).js với đoạn code sau:
var pref = Components.classes["@mozilla.org/preferences-service;1"].getService(Components.interfaces.nsIPrefService);
for(var i=1;i<=100;i++){
code="SET !DATASOURCE D:\\listip.txt\n";
code+="SET !DATASOURCE_LINE "+i+"\n";
code+="SET !EXTRACT {{!COL1}}";
iimPlayCode(code);
var ip=iimGetExtract().split(':');
var a = pref.getBranch("network.proxy.");
a. setCharPref("socks", ip[0]);
a.setIntPref("socks_port", ip[1]);
a.setIntPref("type", 1);
iimPlay("thaotac.iim");
} Tiếp theo tạo file thaotac.iim với lệnh mà bạn muôn làm với từng con sock:
Mình demo nhé:

TAB T=1
URL GOTO=whoer.net
WAIT SECONDS=30
CLEAR
===================
giờ em muốn random tất cả con sock trong listip.txt thì phải sử thế nào, các pro nào đi ngang qua nhờ thông não em cái .
bạn cần viết code imacro gì liên hệ mình nhé [email protected] - 0982912891
 

nongdanchaybo

Newbie
Joined
Nov 25, 2015
Messages
9
Reactions
3
MR
0.029
Chào các bạn :D Mình không phải coder gì cả chỉ là người có kinh nghiệm sử dụng imacros thôi ! Nay viết topic này cho anh em có thêm kiến thức về viết imacros. Nội dung hướng tới những người không phải coder nhưng có nhu cầu sử dụng imacros giải quyết những vẫn để trong công việc marketing,spam,...

Việc viết imacros khá dễ học ! Có thể làm được những công việc từ đơn giản đến phức tạp ! Code imacros cũng có từ đơn giản đến phức tạp bằng lệnh *.iim đến *.js javascript

Nói sơ qua những code imacros mà mình đã từng làm:
-Auto like fanpage facebook,sub,like post,...(addmefast,...)
-Auto spam facebook,add friend theo list URL profile có sẵn, send mes,...
-Auto fake IP theo sock list(làm xong con này ta qua con khác) :p
-Auto và auto,... :D tuỳ vào khả năng của bạn đến đâu mà viết được những code phức tạp\

Ở đây mình sẽ chia sẻ những kiến thức mà mình có.

Bài 1: Viết lệnh imacros căn bản trên file *.iim


1.TAB - Đây lệnh quản lí tab trên trình duyệt
Nó bao gồm
TAB OPEN - Mở 1 tab mới
TAB CLOSE - đóng tab hiện tại
TAB T=1 - Nhảy tới Tab 1(thay thế số 1 thành số mà bạn muốn nhảy tới)
TAB CLOSEALLOTHERS - Đóng hết tab khác trừ tab hiện tại


2.URL - Đây là lệnh chuyển đến 1 URL nào đó trên tab hiện tại
URL GOTO=Link 1 trang web nào đó


Ví dụ: URL GOTO=https://hocimacros.blogspot.com hay URL GOTO=hocimacros.blogspot.com đều được

3.WAIT - Lệnh chờ bao lâu rồi tiếp tục chạy tiếp các lệnh phía sau
WAIT SECONDS= số giây

Ví dụ:
TAB T=1
URL GOTO=hoacimacros.blogspot.com
WAIT SECONDS=20
URL GOTO=whoer.net

Giải thích: Truy cập vào trang hocimacros.blogspot.com và chờ 20 giây sau đấy truy cập tiếp vào whoer.net

4.TAG - Đây lệnh thao tác trên trình duyệt như click vào mục nào đấy(ví dụ như click nút like fanpage trên facebook)
Bao gôm các cú pháp:
TAG POS=n TYPE=type [FORM=form] ATTR=attr [CONTENT=some_content]
Đây là cú pháp thông dụng nhất
TAG XPATH="[xpath_expression]" [CONTENT=some_content]
TAG SELECTOR="[selector_expression]" [CONTENT=some_content]


Về phần này các bạn nên sử dụng chế độ record để lấy đúng chuẩn cú pháp mà bạn cần

Và còn 1 điều nữa là
Ví dụ bạn record lấy nút like facebook và có lệnh sau

TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_0 và bạn để ý u_q_0 chứ ! đây là ID nhận dạng nút like. Nhưng có rất nhiều ID khác cùng dạng như vậy u_w_1 hay u_u_5 hay u_p_9,...

Điều đấy có nghĩa là lệnh TAG POS=1 TYPE=BUTTON ATTR=ID:u_q_0 sẽ không chạy với nhiều fanpage khác ! vậy phải làm sao

Đơn giản thôi ! bạn chỉ việc chỉnh lệnh lại thành:

TAG POS=1 TYPE=BUTTON ATTR=ID:u_* Dấu * ở đây có nghĩa là đằng sau u_ là gì nó vẫn nhấn nút like

Với các nút khác như nút theo dõi,... có dạng như trên thì bạn làm tương tự

5.CLICK - Click vào 1 tọa độ trên website mà bạn đặt
Cú pháp: CLICK X=(tọa độ) Y=(tọa độ)

Trong một trường hợp nào đấy mà lệnh TAG không hoạt động do cấu trúc script của site thì bạn có thể thử lệnh này

6.CLEAR - Đây là lệnh xóa hết cookie,data của trình duyệt
Cú pháp:
CLEAR
Chỉ được đặt một lệnh này 1 dòng.Phù hợp với việc RESET trình duyệt

7.PROXY
Cú pháp:
PROXY ADDRESS=IP:port
Đây lệnh sử dụng Proxy cho trình duyệt


8. !LOOP
SET !LOOP -100 Lặp lại 100 lần(thay số 100 thành số bạn muốn .đặt ở cuối code)

9.!ERRORIGNORE
SET !ERROREIGNORE YES Bỏ qua lỗi code thực thi.Ví dụ như imacros chạy đến code click nút like facebook mà không có nút like để click-> lỗi và imacros sẽ bị dừng. Nhưng có code này nó vẫn chạy các dòng code tiếp theo và lặp đủ hết số lần mới dừng. Ngược lại với dòng code này là SET !ERROREIGNORE NO và cũng là mặc định của imacros

10.USERAGENT
SET !USERAGENT "tên thiết bị" Dùng để đổi useragent - thông tin nhận diện trình duyệt như trình duyệt firefox,chrome,trình duyệt di động,...

Ví dụ:
SET !USERAGENT "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36"

11.TIMEOUT
SET !TIMEOUT 60 Khi trình duyệt load 1 trang web nhưng trang web đấy load quá lâu(do mạng chậm,...) code này đặt ra thời gian tối đa trang web được load. Nếu quá thời gian nó sẽ tiếp tục các code tiếp theo(thay số 60 bằng một số khác bạn muốn, đơn vị là giây)

SET !TIMEOUT_STEP 10 Cũng tương tự như trên ! nhưng thay vì là trang web thì nó là các bước thực thi code! mặc định là 1/10 của TIMEOUT. (thay số 10 thành số khác bạn muốn, đơn vị là giây)

12.!DATASOURCE

Lệnh này có tác dụng với việc bạn có list Sock,list account,... và muốn thực thi với mỗi lần lặp.
Ví dụ mình có list 10 tài khoản và imacros chạy 10 lần lặp !
Lần lặp 1 login account dòng 1 vào forum
Lần lặp 2 login account dòng 2 vào forum
,...


Cấu trúc:
SET !DATASOURCE D:\list.csv (D:\file.csv là đường dẫn tới file. nếu chỉ có 1 cột thì dùng .txt nếu 2 trở lên nên dùng csv,csv là file excel)
SET !DATASOURCE_LINE {{!LOOP}} Nó có nghĩa là lặp lần 1 sử dụng dòng 1, lặp lần 2 sử dụng dòng 2 trong file list.csv
SET !DATASOURCE_COULUMNS 2 Đây là khai báo cột. Ví dụ file csv của bạn cột 1 là username,cột 2 là mật khẩu thì bạn khai báo sử dụng 2 cột. Thay số 2 vào các trường hợp khác

Bây giờ mình sẽ ví dụ code imacros login forum vozforums.com với list 10 account chẳng hạn và mình đã chuẩn bị 10 acc trong file list.csv nằm ở ổ D

SET !DATASOURCE D:\list.csv
SET !DATASOURCE_LINE {{!LOOP}}
SET !DATASOURCE_COLUMNS 2
TAB T=1
URL GOTO=https://vozforums.com/
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:login.php?do=login ATTR=ID:navbar_username CONTENT={{!COL1}}
TAG POS=1 TYPE=INPUT:pASSWORD FORM=ACTION:login.php?do=login ATTR=ID:navbar_password CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:login.php?do=login ATTR=*


Giải thích:
SET !DATASOURCE D:\list.csv - Khai báo địa chỉ file
SET !DATASOURCE_LINE {{!LOOP}}
SET !DATASOURCE_COLUMNS 2
Khai báo số cột
TAB T=1
URL GOTO=https://vozforums.com/
Truy cập trang vozforums
TAG POS=1 TYPE=INPUT:TEXT FORM=ACTION:login.php?do=login ATTR=ID:navbar_username CONTENT={{!COL1}} Nhập vào ô username,bạn thấy {{!COL1}} chứ, nó là giá trị ở cột 1 dòng (số lần lặp hiện tại.Ví dụ đang ở lần lặp 2 thì nó lấy ở hàng 2)
TAG POS=1 TYPE=INPUT:pASSWORD FORM=ACTION:login.php?do=login ATTR=ID:navbar_password CONTENT={{!COL2}} Đây cột 2 và cũng tương tự như trên
TAG POS=1 TYPE=INPUT:SUBMIT FORM=ACTION:login.php?do=login ATTR=* Ấn nút login
CLEAR xóa sạch cookiem,data trình duyệt

13.!EVAL
SET !VAR1 EVAL("var min = 50; var max = 70; var randomNumber = Math.floor(Math.random() * (max - min + 1)) + min; randomNumber;")

Đây là lệnh tạo 1 biến chạy random từ 50 đến 70. Bạn có thể sửa min = 50 mã = 70 thành giá trị khác

Ví dụ bạn có thể sử dụng giá trị !VAR1 như sau:

WAIT SECONDS={{!VAR1}} Thời gian chờ random từ 50-70! Việc này giúp bạn khó bị nhận diện là robot hơn
14.SEARCH
SEARCH SOURCE=TXT hoặc REGEXP:"Nhận dạng dữ liệu cần lấy" IGNORE_CASE=YES EXTRACT=$1

Lệnh lấy thông tin từ trang. Hỗ trợ bạn làm auto get info nhé :)
Truy cập Bài viết để hiểu rõ hơn nhé

15.SAVEAS

Các bạn có thể tìm hiểu nhiều lệnh hơn tại đây http://wiki.imacros.net/Command_Reference

Lệnh mình update từ từ nhé

Những gì các bạn thắc mắc hoặc chưa thấy hợp lí thì cứ bình luận bên dưới

TIẾP TỤC UPDATE - hocimacros.blogspot.com
-Cập nhật lệnh !EVAL. Sớm có bài hướng dẫn viết lệnh với file .js
-19/09 Cập nhật thêm SEARCH,SAVEAS


Các bác trợ giúp em cái login vào nhiều gmail mà lấy danh sách gmail từ 1 cái file excel hay file text với ạ, e toàn bị lỗi ở cái vòn lặp thui ạ, chỉ login đc 1 lần, các pro giúp e với ạ
 

NkocLove

Pre-verified
Joined
Apr 17, 2014
Messages
98
Reactions
99
MR
0.729
$252.25
Chat with me via Skype
Các bác trợ giúp em cái login vào nhiều gmail mà lấy danh sách gmail từ 1 cái file excel hay file text với ạ, e toàn bị lỗi ở cái vòn lặp thui ạ, chỉ login đc 1 lần, các pro giúp e với ạ
bác có thể dùng biến {{LOOP}} để lặp thay cho việc dùng vòng for() trong js
ex:
SET !DATASOURCE_COLUMNS {{LOOP}}
SET !LOOP -100
thì lần lặp thứ nhất LOOP=1 nó sẽ lấy giá trị các cột ở dòng 1
tương tự lần lặp thứ hai LOOP=2 nó sẽ lấy giá trị các cột ở dòng 2...
 
bác có thể dùng biến {{LOOP}} để lặp thay cho việc dùng vòng for() trong js
ex:
SET !DATASOURCE_COLUMNS {{LOOP}}
SET !LOOP -100
thì lần lặp thứ nhất LOOP=1 nó sẽ lấy giá trị các cột ở dòng 1
tương tự lần lặp thứ hai LOOP=2 nó sẽ lấy giá trị các cột ở dòng 2...


Bác có thể trợ giúp em đoạn code hoàn chỉnh được không ạ, phần này em hơi kém bác ạ, em sẽ hậu tạ bác :). Thank bác nhiều.
 

Announcements

Forum statistics

Threads
426,456
Messages
7,177,245
Members
178,883
Latest member
woo2002vn

Most viewed of week

Most discussed of week

Most viewed of week

Most discussed of week

Back
Top Bottom