当前位置:   article > 正文

python微信公众号自动化搜题_wxauto公众号

wxauto公众号

先看这篇来获取学习通中所有习题:python爬虫笔记(学习T)_星空的你的博客-CSDN博客

上一篇我们已经获取了学习通中所有的章节练习题,这篇讲解如何进行自动化搜索,一般的搜题方式有两种,一种是在线网站搜题用selenium完成自动化,但是我发现这种方式搜题结果不是特别准确,还有就是用客户端和wx微公众号了,说实话这两种方式相比selenium要复杂的多,倒不是技术有多复杂,而是资源难找,难以学习,就比如操作wx的库itchat,wxpy都凉凉了,所以我现在在用的是一种偏向于本地自动化的方式操作wx

首先安装所需要的库 第一个是操作wx的库 第二个是本地自动化操作鼠标键盘的库

pip install wxauto

pip install pyautogui

运行前请先确保微信客户端处于打开状态

微信公众号可以选你自己喜欢的,这个公众号也不是我的,而且查题到一定数量后居然还要钱。。

毛概题库运行顶部链接文章中代码可以获取

代码如下:

  1. import os
  2. from wxauto import *
  3. import pyautogui
  4. import time
  5. # 获取鼠标位置
  6. def get_mouse_positon():
  7. time.sleep(2) # 准备时间
  8. print('开始获取鼠标位置')
  9. try:
  10. for i in range(50):#输出次数
  11. # Get and print the mouse coordinates.
  12. x, y = pyautogui.position()
  13. positionStr = '鼠标坐标点(X,Y)为:{},{}'.format(str(x).rjust(4), str(y).rjust(4))
  14. pix = pyautogui.screenshot().getpixel((x, y)) # 获取鼠标所在屏幕点的RGB颜色
  15. positionStr += ' RGB:(' + str(pix[0]).rjust(3) + ',' + str(pix[1]).rjust(3) + ',' + str(pix[2]).rjust(
  16. 3) + ')'
  17. print(positionStr)
  18. time.sleep(0.5) # 停顿时间
  19. except:
  20. print('获取鼠标位置失败')
  21. '''
  22. 联想R7000
  23. 1920X1080
  24. 125%缩放
  25. wx默认位置初始坐标
  26. 三个点坐标为1504, 168
  27. 发消息坐标为1525, 210
  28. '''
  29. #如果没有点击正确位置用下面的方法,获取一下正确位置坐标
  30. #get_mouse_positon()
  31. pyautogui.hotkey('ctrl', 'alt', 'w')
  32. #获取当前微信客户端
  33. wx = WeChat()
  34. #搜索公众号名称
  35. wx.Search('变式杂记')
  36. # 进入聊天界面
  37. pyautogui.moveTo(1504, 168, duration=0.25) # 移动到 三个点 duration执行时间
  38. pyautogui.click() #点击一下
  39. pyautogui.click(x=1525, y=210, duration=0.25)# 也可以联合起来
  40. #获取文件中的内容
  41. Dir=os.listdir('毛概题库')
  42. for dir in Dir:
  43. with open(f'毛概题库/{dir}','r',encoding='utf8') as f:
  44. lines=f.readlines()
  45. for line in lines:
  46. # 给公众号发消息
  47. wx.SendMsg(line)
  48. time.sleep(0.5)
  49. #输出当前聊天窗口聊天消息
  50. # msgs = wx.GetAllMessage
  51. # for msg in msgs:
  52. # print('%s : %s'%(msg[0], msg[1]))
  53. #
  54. #
  55. # # 获取会话列表
  56. # msg = '你好~'
  57. #
  58. # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
  59. # wx.SendMsg(msg) # 向`文件传输助手`发送消息:你好~
  60. # ## 获取更多聊天记录
  61. # wx.LoadMoreMessage()
  62. # msgs = wx.GetAllMessage
  63. # for msg in msgs:
  64. # print('%s : %s'%(msg[0], msg[1]))
  65. # # 向某人发送消息(以`文件传输助手`为例)
  66. # msg = '你好~'
  67. # who = '变式杂记'
  68. # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
  69. # wx.SendMsg(msg) # 向`文件传输助手`发送消息:你好~
  70. # # 向某人发送文件(以`文件传输助手`为例,发送三个不同类型文件)
  71. # file1 = 'D:/test/wxauto.py'
  72. # file2 = 'D:/test/pic.png'
  73. # file3 = 'D:/test/files.rar'
  74. # who = '文件传输助手'
  75. # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
  76. # wx.SendFiles(file1, file2, file3) # 向`文件传输助手`发送上述三个文件
  77. # # 注:为保证发送文件稳定性,首次发送文件可能花费时间较长,后续调用会缩短发送时间
  78. # # 向某人发送程序截图(以`文件传输助手`为例,发送微信截图)
  79. # name = '微信'
  80. # classname = 'WeChatMainWndForPC'
  81. # wx.ChatWith(who) # 打开`文件传输助手`聊天窗口
  82. # wx.SendScreenshot(name, classname) # 发送微信窗口的截图给文件传输助手

拿去人前显圣,不用谢。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/584927
推荐阅读
相关标签
  

闽ICP备14008679号