监控多条微信公众号链接阅读量,并可视化–模拟鼠标键盘

 1 from time import sleep 2 import random,pyperclip,os 3 import pyautogui 4 from openpyxl import load_workbook 5 import datetime 6 import tkinter as tk 7  8 path = os.getcwd()+\URL链接.xlsx 9 wb = load_workbook(path) 10 ws = wb.worksheets[0] 11  12 sleep(1) 13 pyautogui.FAILSAFE = True 14  15 width, height = pyautogui.size() 16 print(width,height) 17  18 cur_x, cur_y = pyautogui.position() 19 print(cur_x,cur_y) 20  21 def opation(): 22 def control(url,i,m): 23 pyautogui.click(x = 85, y = 1060, duration=2)#移动鼠标任务栏微信 24 pyautogui.click()#当前位置点击 25 sleep(1) 26 pyautogui.click(x=1063, y=744, duration=2) # 移动鼠标输入框 27 pyautogui.click() # 当前位置点击 28  29 pyautogui.typewrite(url, interval=0.25) # 输入文本 30 pyautogui.press(space) 31 sleep(1) 32 pyautogui.press(enter) 33 # pyautogui.click(x=792, y=569, duration=2) # 移动鼠标发送 34 # pyautogui.click() # 当前位置点击 35 sleep(1) 36 pyautogui.click(x=1108, y=626, duration=2) # 移动鼠标点击链接 37 pyautogui.click() # 当前位置点击 38  39 sleep(2) 40 pyautogui.click(x = 1258, y = 300, duration=2)#移动鼠标文章空白位置 41 pyautogui.click()#当前位置点击 42  43 sleep(random.randint(3,6)) 44 pyautogui.hotkey(ctrl, a) # 组合按键(Ctrl+A)#全选 45 sleep(1) 46 pyautogui.hotkey(ctrl, c) # 组合按键(Ctrl+C)#复制 47 sleep(1) 48 text = pyperclip.paste() 49 # print(text) 50 if "阅读 "in text: 51 index = text.index("阅读 ") 52 click = text[index:] 53 for kw in click.split("n"): 54 if "阅读 " in kw: 55 print("阅读:", kw.replace("阅读", "").strip()) 56 # reads.append(kw.replace("阅读", "").strip()) 57 ws.cell(i+1,3+m).value = kw.replace("阅读", "").strip() 58 elif "在看" in kw: 59 print("在看:", kw.replace("在看", "").strip()) 60 sleep(1) 61 pyautogui.click(x=1260, y=150, duration=2) # 移动鼠标"关闭"位置 62 pyautogui.click() # 当前位置点击 #关闭 63 # print(text)8CAA 64  wb.save(path) 65  66 for m in range(int(e1.get())): 67 now_time = datetime.datetime.now().strftime(%H:%M:%S) # %Y-%m-%d %H:%M:%S 68 ws.cell(1,3+m).value =now_time#监控链接的时间保存 69 for i in range(1,ws.max_row): 70 # print(ws.cell(i+1,2).value) 71 # if len(ws.cell(i+1,2).value): 72 control(ws.cell(i+1,2).value,i,m) 73  74  75 #删除原来的所有图片文件 76 file_names = os.listdir(os.getcwd() + \img\) 77 for file_name in file_names: 78 os.remove(os.getcwd() + \img\ + file_name) 79 #可视化 80 import matplotlib.pyplot as plt 81 x_time = [] 82 for i in range(3, ws.max_column + 1): 83 x_time.append(ws.cell(1, i).value) 84 print(x_time) 85 for i in range(1, ws.max_row): 86 y_read = [] 87 for j in range(3, ws.max_column + 1): 88 y_read.append(ws.cell(i + 1, j).value) 89  plt.plot(x_time, y_read) 90 plt.title(ws.cell(i + 1, 2).value) 91 plt.savefig(os.getcwd() + \img\ + str(i) + .jpg) 92  plt.show() 93  94 l2 = tk.Label(win, text=监控完成,画图已保存) 95  l2.pack() 96  97 if __name__ == __main__: 98 win = tk.Tk() 99 win.title(监控微信文章阅读量)100 win.geometry(300x400)101 l1 =tk.Label(win,text=输入需要监控的多少个时间间隔:)102  l1.pack()103 e1 = tk.Entry(win,show=None)104  e1.pack()105 # l2 = tk.Label(win, text=‘输入间隔的时长:(分钟)‘)106 # l2.pack()107 # e2 = tk.Entry(win, show=None)108 # e2.pack()109 #110 b = tk.Button(win,text=开始监控,width=12,height=1,command=opation)111  b.pack()112 113 win.mainloop()

 

监控多条微信公众号链接阅读量,并可视化--模拟鼠标键盘

相关文章