概述

本篇博客主要介绍如何使用python的wxpy库,在其他博客代码的基础上,通过网页版微信,监听某个好友或微信群中,满足特定要求的消息,并集中转发至制定好友处。

感谢作者”猪哥“(微信号IT--Pig)提供的教程与开源代码!

配置机器介绍

python版本:Python 3.7.3

依赖库:wxpy

安装方法:安装pip后,输入在控制台输入以下代码进行安装

pip3 install -U wxpy -i "https://pypi.doubanio.com/simple/"

常用功能测试

本篇博客在该博客的代码基础上进行更改。作者在文章中给出了开源代码,地址如下:

基于python的微信机器人

该项目已经实现了很多功能,如自动化的好友管理功能、简单的聊天机器人、群聊的消息监听与转发、公众号的自动管理管理功能等。本篇博客主要阐述如何对其中的消息监听功能进行自定义修改以满足不同需求,并介绍个别所遇到问题的解决方法。

刚开始登录微信时就遇到了一个问题,程序不能正确弹出二维码以登录微信,经查阅代码发现,项目的robot.py中的一个参数console_qr使其在控制台打印出了二维码,因此需对其作出修改:

bot = Bot(cache_path=True, console_qr=False)

由于只有一个微信号,无法实现远程控制机器人,因此也不能收到一些反馈消息,因此需要手动设置一些输出来查看每一步的运行过程。

在测试常用的如防撤回模式、转发群@我的消息、群分享监控等功能时遇到了有的群无法找到的问题,暂时尚未查明原因, 由于并不影响监听的进行,就暂时放弃这个难题。这些过程中并未遇到其他问题。

在测试监听某些好友在群聊中的消息时,本来设想监听自己在一些群聊中的消息,这样测试较为方便,可以一人独自完成。测试时发现,监听自己,在查找好友列表时并不会报错,该过程如下:

bot.listen_friends = search_friends(bot, config.listen_friend_names)
if not bot.listen_friends:bot.listen_friends = []bot.is_listen_friend = Falseprint('none1')return '未在好友中找到备注为「{}」的监听对象!'.format(str(config.listen_friend_names))

因此,就以为该过程可以通过监听自己在一些群聊中的消息实现,但是并不能收到任何监听到的消息。在经过对代码的分析以及运行过程的分析以及更多的测试后终于发现,程序并不能收到自己的消息。在经过对他人的测试后,终于得到了正确的结果。

监听某些好友在群聊中的消息时的参数设置:

# 监听某些好友群聊,如老板
is_listen_friend = True
listen_friend_names = 'ewferhy'  # 需要监听的人名称,使用备注名更安全,允许多个用|分隔,如:主管|项目经理|产品狗
listen_friend_groups = '真情'  # 在这些群里监听好友说的话,匹配模式:包含“唯一集团工作群”的群

测试的结果:

实现监听群内招聘消息

经过仔细研究思考,最终决定使用监听群转发的已有函数来完成监听群内招聘信息。为了实现这一目标,需要实现对招聘信息的识别。由于之前并不知道本程序收集到的数据类型是什么样的,于是,开始查找wxpy库的信息。最终得到,收集到的text信息数据类型为string,于是,就能轻松的实现信息的识别了。这一过程主要参考了wxpy文档,参考如下:

@wrapped_send(TEXT)
def send_msg(self, msg=None):
"""
发送文本消息 :param msg: 文本内容
:rtype: :class:`wxpy.SentMessage`""" if msg is None:
msg = 'Hello from wxpy!'
else:
msg = str(msg) return dict(msg=msg), dict(text=msg)

之后,对于招聘信息的识别,经过对很多招聘消息的研究,最终使用了这些识别关键字,代码如下:

if '招' in msg.text or '有偿' in msg.text or '实习' in msg.text or '工作' in msg.text or '帮转' in msg.text or '岗位' in msg.text or '劳务' in msg.text:

于是就完成了监听群内招聘消息的过程,测试结果如下:

转载于:https://www.cnblogs.com/Water-T/p/10897264.html

[技术博客]使用微信机器人监听群内招聘信息的过程及遇到的问题相关推荐

  1. iOS学习资源汇总(开源项目、第三方库、技术博客等等)

    iOS学习资源汇总(开源项目.第三方库.技术博客等等) 字数3919 阅读10309 评论29 喜欢297 前言 Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你 ...

  2. HAproxy - 铁钉 - 51CTO技术博客

    HAproxy - 铁钉 - 51CTO技术博客 HAproxy 2009-11-30 14:24:37 标签:HAproxy 休闲 职场 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出 ...

  3. 我从写技术博客中收获到了什么?- J_Knight_

    我是 J_Knight_,熟悉我的人都应该知道我是一名刚工作满3年的非科班 iOS 开发者,而且一直坚持写技术博客快有2年半的时间了. 其实从去年开始就一直想分享我写博客的心得,但是一直也没有找到合适 ...

  4. Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客

    Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客 Maven问题总结 - 3 - 技术改变生活商业成就梦想 - 51CTO技术博客 Maven问题总结 - 3 2010 ...

  5. 如何运营个人技术博客

    前言   本篇和大家聊聊如何运营个人技术博客,定位下做技术写作的目的,有哪些交流平台和输出方式,如何把控内容质量,整理了一些写作技巧和自己常用的写作工具,最后分享下如何在有限的时间里合理安排保证写作与 ...

  6. 有哪些值得关注的技术博客(PHP篇)

    有哪些值得关注的技术博客(PHP篇) 路人甲 · 3 个月前 大部分程序员在自学的道路上不知道走了多少坑,这个视频那个网站搞得自己晕头转向.对我个人来说我平常在学习的过程中喜欢看一些教程式的博客.这些 ...

  7. 技术人如何利用 github+Jekyll ,搭建一个独立免费的技术博客

    上次有人留言说,技术博客是程序员的标配,但据我所知绝大部分技术同学到现在仍然没有自己的技术博客.原因有很多,有的是懒的写,有的是怕写不好,还有的是一直想憋个大招,幻想做到完美再发出来,结果一直胎死腹中 ...

  8. 【转载】分享一些写技术博客的心得感悟

    前言 写文章是一个短期收益少,长期收益很大的一件事情,人们总是高估短期收益,低估长期收益.往往是很多人坚持不下来,特别是写文章的初期,刚写完文章没有人阅读会有一种挫败感,影响了后期创作. 从某种意义上 ...

  9. 【编程之外】为什么我们要写技术博客?

    博客,其实更多是写给自己看的 这是一个你第一眼看去绝不大可能同意的观点,"what? 博客的主要作用难道不是给他人分享自己学来的知识吗?",你可能会抱有这样的疑问.对此,且听我细细 ...

最新文章

  1. Dubbo暴露服务过程
  2. while和for循环读取大文件三种读取文件方式
  3. vue @路径_Vue路由多路径配置同一个组件
  4. 巴川数据科学炼成记_【脑王直通车】小小记忆高手炼成记
  5. 关于Image创建的内存管理
  6. windows做ntp server,linux做ntp client端的配置方法
  7. 安卓手机模拟路由器 测试WIFI信道遍历
  8. HTTPD的常用配置
  9. 分享一个可以让你在朋友圈赚钱的小工具
  10. 计算机积木游戏,儿童智力开发游戏:四款适合幼儿的积木游戏
  11. 博仲兴业力作——《爱的雨季》讲述爱情的奥秘
  12. p50 p51 p52 p53
  13. CAD 二次开发 图层操作(3)取得指定图层下的所有对象id
  14. (已更新)新版帝国cms内核试玩佣金WAP手机版网站源码,可打包APP
  15. python对excel添加新的一行_python 实现在Excel末尾增加新行
  16. 范德堡计算机科学硕士,范德堡大学计算机科学硕士排名第58(2020年TFE Times排名)...
  17. 算法竞赛进阶指南0x12:Team Queue
  18. GitLab分支合并时,选择use ours是指分支而不是主分支
  19. POCO C++简介
  20. JS元素属性操作方法,包括获取属性,修改属性,删除属性

热门文章

  1. matlab tolfun,非线性方程组求解问题(关于TolFun设置问题)
  2. play游戏php是多少人,directplay有什么用?
  3. 关于屏幕尺寸引起的问题
  4. 市面上主流源表软件全面对比,总有一款适合你!
  5. Flutter2.10开始支持Windows
  6. C语言:结构体与位段——自定义类型
  7. C语言结构体中的位段
  8. win11开机不能进系统桌面怎么解决
  9. ipad和android平板应用程序,安卓平板相比iPad有哪些优势和劣势?
  10. 西南政法大学计算机课程要求,新高考西南政法大学需要选哪些课程?附西南政法大学选科要求...