python記錄動作+重複
記錄完成後按c停止記錄,會卡頓一會兒,正常bug。
該程式會在程式執行的目錄下生成乙個record.txt,裡面記錄著操作資訊,可以自行刪除多餘操作。每一行是乙個操作,順序:距離上乙個操作的用時,操作內容,滑鼠的x座標,滑鼠的y座標
import pyhook
import pythoncom
import pyautogui as pag
import time
start =time.clock(
)# 監聽到滑鼠事件呼叫
defonkeyboardevent
(event)
:if event.key==
"c":
exit(0)
return
true
defonmouseevent
(event)
:global start
if(event.messagename!=
"mouse move"):
# 因為滑鼠一動就會有很多mouse move,所以把這個過濾下
print
(event.messagename)
screenwidth, screenheight = pag.size(
)#獲取螢幕的尺寸
ptx,pty = pag.position(
)#獲取當前滑鼠的位置
showstr =
"position:"
+str
(ptx)
.rjust(4)
+','
+str
(pty)
.rjust(4)
with
open
('record.txt'
,'a'
)as f:
now = time.clock(
) f.write(
str(
round
(now-start,2)
)+','+event.messagename+
','+
str(ptx)
+','
+str
(pty)
+'\n'
) start= time.clock(
)print
(showstr)
return
true
# 為true才會正常呼叫,如果為false的話,此次事件被攔截
defmain()
:# 建立管理器
hm = pyhook.hookmanager(
)# 監聽鍵盤
hm.keydown = onkeyboardevent
hm.hookkeyboard(
)# 監聽滑鼠c
hm.mouseall = onmouseevent
hm.hookmouse(
)# 迴圈監聽
pythoncom.pumpmessages(
)if __name__ ==
"__main__"
: main(
)
可以根據情況修改的用數字註明
中間可按下c提前終止
import win32api,win32con
import time
import pyhook
import pythoncom
import _thread
# 建立管理器
defonkeyboardevent
(event)
:if event.key==
"c":
exit(0)
return
true
defstar_listen()
: hm = pyhook.hookmanager(
)# 監聽鍵盤
hm.keydown = onkeyboardevent
hm.hookkeyboard(
) pythoncom.pumpmessages(
)def
click_down
(x,y)
: win32api.setcursorpos(
(int
(x),
int(y)))
win32api.mouse_event(win32con.mouseeventf_leftdown,
int(x)
,int
(y),0,
0)time.sleep(
0.05
)def
click_up
(x,y)
: win32api.setcursorpos(
(int
(x),
int(y)))
win32api.mouse_event(win32con.mouseeventf_leftup,
int(x)
,int
(y),0,
0)time.sleep(
0.05
)with
open
('record.txt'
,'r'
)as f:
opreation=f.read(
).split(
'\n')[
:-1]
defwork()
:for i in
range
(100):
#1.重複執行的次數
for j in
range
(len
(opreation)):
time.sleep(
float
(opreation[j]
.split(
',')[0
])/3
)#2.每個操作間隔時間縮小的比例(人的反應慢)
opreate=opreation[j]
.split(
',')[1
]if opreate==
'mouse left down'
: click_down(
float
(opreation[j]
.split(
',')[2
]),float
(opreation[j]
.split(
',')[3
]))if opreate==
'mouse left up'
: click_up(
float
(opreation[j]
.split(
',')[2
]),float
(opreation[j]
.split(
',')[3
])) time.sleep(
0.1)
#3.距離下乙個操作所間隔的時間。
_thread.start_new_thread(star_listen,()
)_thread.start_new_thread(work(
))
1.打卡微博個人頁面。
2.執行記錄程式,刪乙個。
3.開啟rocord.txt去除無關操作
4.執行重複執行程式(注意不要讓編輯器視窗遮擋所執行的位置)
中間任何異常按c終止
1.操作過於少,少鍵盤、滾輪和右鍵。
2.過於僵化不可以靈活組合。
3.沒有影象識別和視窗識別,不夠靈活。
微博批量點讚
微博批量點讚 import requests class weibospider def init self,username,password self.session requests.session self.headers self.session.headers.update self.h...
微博爬蟲python 微博爬蟲 python
本文爬取的是m站的微博內容,基於python 2.7 一 微博內容爬取 1.要爬取的微博首頁 2.手機微博是看不到翻頁,是一直往下載入的,但是其json格式的資料仍然以翻頁的形式呈現。3.開啟開發者工具,向下翻頁面,可以在network下的xhr的響應檔案中,找到json檔案的 如 通過分析發現每個...
實現微博批量取消關注使用者
為了實現批量取關微博使用者,寫了個小東西 僅供參考 1,js userscript name 批量選擇微博關注列表 namespace version 0.1 description try to take over the world author you match grant none use...