pythonマイクロブログの大量の迅速な削除の文章、関心

19062 ワード

一、考え方
pythonレコード動作+繰返し
二、プログラム
1.記録
記録が完成したらcを押して記録を停止し、しばらくかかり、正常BUGになります.プログラムが実行するディレクトリの下にrecordが生成されます.txtは、操作情報が記録されており、余分な操作を自分で削除することができます.各行は1つの操作で、順序:前の操作の使用時、操作内容、マウスのx座標、マウスのy座標
import pyHook
import pythoncom
import pyautogui as pag
import time
start =time.clock()
#          
def onKeyboardEvent(event):
    if event.Key=="c":
        exit(0)
    return True
def onMouseEvent(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)+'
'
) start= time.clock() print(showStr) return True # True , False , def main(): # hm = pyHook.HookManager() # hm.KeyDown = onKeyboardEvent hm.HookKeyboard() # c hm.MouseAll = onMouseEvent hm.HookMouse() # pythoncom.PumpMessages() if __name__ == "__main__": main()

2.繰り返し実行
状況に応じて修正できる数字で真ん中を明記してcを押して早めに終了することができます
import win32api,win32con
import time
import pyHook
import pythoncom
import _thread

#      
def onKeyboardEvent(event):
    if event.Key=="c":
        exit(0)
    return True
def star_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('
'
)[:-1] def work(): 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.画像認識とウィンドウ認識がなく、柔軟性が足りない.