赞
踩
先看这篇来获取学习通中所有习题:python爬虫笔记(学习T)_星空的你的博客-CSDN博客
上一篇我们已经获取了学习通中所有的章节练习题,这篇讲解如何进行自动化搜索,一般的搜题方式有两种,一种是在线网站搜题用selenium完成自动化,但是我发现这种方式搜题结果不是特别准确,还有就是用客户端和wx微公众号了,说实话这两种方式相比selenium要复杂的多,倒不是技术有多复杂,而是资源难找,难以学习,就比如操作wx的库itchat,wxpy都凉凉了,所以我现在在用的是一种偏向于本地自动化的方式操作wx
首先安装所需要的库 第一个是操作wx的库 第二个是本地自动化操作鼠标键盘的库
pip install wxauto
pip install pyautogui
微信公众号可以选你自己喜欢的,这个公众号也不是我的,而且查题到一定数量后居然还要钱。。
毛概题库运行顶部链接文章中代码可以获取
- import os
- from wxauto import *
- import pyautogui
- import time
- # 获取鼠标位置
- def get_mouse_positon():
- time.sleep(2) # 准备时间
- print('开始获取鼠标位置')
- try:
- for i in range(50):#输出次数
- # Get and print the mouse coordinates.
- x, y = pyautogui.position()
- positionStr = '鼠标坐标点(X,Y)为:{},{}'.format(str(x).rjust(4), str(y).rjust(4))
- pix = pyautogui.screenshot().getpixel((x, y)) # 获取鼠标所在屏幕点的RGB颜色
- positionStr += ' RGB:(' + str(pix[0]).rjust(3) + ',' + str(pix[1]).rjust(3) + ',' + str(pix[2]).rjust(
- 3) + ')'
- print(positionStr)
- time.sleep(0.5) # 停顿时间
- except:
- print('获取鼠标位置失败')
-
- '''
- 联想R7000
- 1920X1080
- 125%缩放
- wx默认位置初始坐标
- 三个点坐标为1504, 168
- 发消息坐标为1525, 210
- '''
- #如果没有点击正确位置用下面的方法,获取一下正确位置坐标
- #get_mouse_positon()
- pyautogui.hotkey('ctrl', 'alt', 'w')
- #获取当前微信客户端
- wx = WeChat()
- #搜索公众号名称
- wx.Search('变式杂记')
- # 进入聊天界面
- pyautogui.moveTo(1504, 168, duration=0.25) # 移动到 三个点 duration执行时间
- pyautogui.click() #点击一下
- pyautogui.click(x=1525, y=210, duration=0.25)# 也可以联合起来
- #获取文件中的内容
- Dir=os.listdir('毛概题库')
- for dir in Dir:
- with open(f'毛概题库/{dir}','r',encoding='utf8') as f:
- lines=f.readlines()
- for line in lines:
- # 给公众号发消息
- wx.SendMsg(line)
- time.sleep(0.5)
- #输出当前聊天窗口聊天消息
- # msgs = wx.GetAllMessage
- # for msg in msgs:
- # print('%s : %s'%(msg[0], msg[1]))
- #
- #
- # # 获取会话列表
-
- # msg = '你好~'
- #
- # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
- # wx.SendMsg(msg) # 向`文件传输助手`发送消息:你好~
-
-
- # ## 获取更多聊天记录
- # wx.LoadMoreMessage()
- # msgs = wx.GetAllMessage
- # for msg in msgs:
- # print('%s : %s'%(msg[0], msg[1]))
-
-
- # # 向某人发送消息(以`文件传输助手`为例)
- # msg = '你好~'
- # who = '变式杂记'
- # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
- # wx.SendMsg(msg) # 向`文件传输助手`发送消息:你好~
-
-
- # # 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)
- # file1 = 'D:/test/wxauto.py'
- # file2 = 'D:/test/pic.png'
- # file3 = 'D:/test/files.rar'
- # who = '文件传输助手'
- # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
- # wx.SendFiles(file1, file2, file3) # 向`文件传输助手`发送上述三个文件
- # # 注:为保证发送文件稳定性,首次发送文件可能花费时间较长,后续调用会缩短发送时间
-
-
- # # 向某人发送程序截图(以`文件传输助手`为例,发送微信截图)
- # name = '微信'
- # classname = 'WeChatMainWndForPC'
- # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
- # wx.SendScreenshot(name, classname) # 发送微信窗口的截图给文件传输助手
拿去人前显圣,不用谢。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。