招聘季即将到来,如何实时的得知招聘信息呢?自然是爬虫+微信了。
这几日在票圈和各微信群看到大家疯狂刷“京东”、“腾讯”等秋招类的“广告”,我对这些营销方式存怀疑态度,觉得一定不是官方的!总感觉有恶意营销在里面。
有需求就有市场,为什么不自己写一个校招提醒机器人呢?简单的想了下,爬虫+微信模式应该是最好的搭配了。
使用方法
先说使用方法,再讲原理。
- 打开微信扫一扫,扫描上方二维码
- 添加它为好友
- 接受它发出的群聊邀请(自动邀请功能暂时取消,请告诉它要进哪个群,后面统一拉)
- 每日更新招聘会信息(现阶段仅支持西电就业信息网招聘会信息)
效果
这是一个西电求职交流群,大家有更好的招聘信息也可以甩到群里。
原理
原理主要分为两部分:爬虫+微信机器人。
爬虫
讲道理西电就业信息应该挺好爬的吧,网站虽然丑一点,但是内容才是最重要的。就用最简单的请求方式去获取网站内容,居然Forbidden了。
那好吧,只能伪装浏览器了。
这样就ok。
完整的抓取网站信息代码:
就业信息网长这样:
北校区招聘会信息的table长这样:
找到标签那就剥洋葱的爬呗:
南校区的信息结构和北校区一样,同样试用上面的程序。
对于爬虫的招聘会信息还需做处理,用于后面微信发送。
处理的代码:
至此,爬虫的工作已完成。
微信机器人
之前微信好友分析使用过itchat,真的是非常好的一个库。
这次要做的工作简单点,找到指定的群聊名,将爬取的就业信息发送即可。
具体的工作流程为:
- 登录微信
- 获取所有群聊名称
- 匹配要发送信息的微信群
- 发送指定信息
至此爬虫+微信机器人的工作均已完成。
可是总不能天天手动去运行程序吧,那我为什么不去看就业信息网站上的信息呢。
做程序员呢,最重要的就是一定要懒。
设置一个定时器呗,每天运行一次。基本上就能满足需求了。
这样就行了,主程序运行timer(86400),每日更新一波。最后再部署到云服务器就好了。
最后
这点信息总感觉太少,还望大家多多提供点靠谱的招聘信息网站,有兴趣的也可以联系我,一起把这个功能丰富起来。
方便他人,方便自己。
V1.2
同学给的几点建议:
- 去掉过期的招聘会信息
- 增加交大、西工大的招聘会信息
- 增加应届生招聘网站上的信息
我是从西电就业信息网直接爬取,网站上的信息并为做过期处理。
这样一想有没有可能从其他招聘网站上抓取第二手信息呢,他们应该做过处理。
果不其然,海投网!直接解决了第一第二点的建议。
上代码:
完美!
关于第三点,这个应届生的网站真心写的好乱。。不过不能扒的网站呢!
上代码:
最后现在的效果:
V1.3
遇到的问题
西电这几日没有招聘会信息发布,所以西电部分的爬虫抛出异常。
已解决,修改如下:
V1.4
遇到的问题
由于itchat的问题,网页版微信并不能一直保持在线,导致定时发送服务总是因为掉线而抛出异常。
解决办法:itchat在移动端微信保持稳定登录的情况下,30分钟内是可以保证在线的。所以想到每30分钟发一次信息,保持登录的状态,每24小时给求职群里发一次招聘会信息。具体实现方法:
V2.0
增加睿思的招聘信息
这几天已经用获得的招聘信息疯狂投递简历了。为了丰富招聘信息,根据之前的经验和代码,整合了下,抓取睿思校园招聘板块的信息,进行处理后进行微信发送。
睿思板块抓取的程序:
得到的信息如下:
遇到的问题
之前循环时间,然后触发程序有些鸡肋。进行了新的改动。
采用检测本地时间来进行触发。Itchat有个问题不好处理,会时长掉线,查过很多资料好像并不能很好的解决这个问题。所以,为了保证网页版微信的登录状态,每隔十分钟会给一个TEST群里发送信息。这个方法可以保证一段时间的登录状态。但是还是会一段时间后LOG OUT。现在的原因还未能知晓,此bug需要后面解决。
V2.1
是什么驱动要一直去写代码,有一大部分是强迫症!!!
上面招聘信息的链接也太长了吧,在微信里看起来好烦。
所以,缩短的网址,看这里。Python3五行代码实现缩短网址功能
实现的效果:
V2.2 7.22
遇到的问题
不能保持登录的问题。
我是傻子,大傻子。为什么不能分清if 和 switch的功能!!!
我把测试保持登录的if 放到最前面就好了啊!!
V3.0
增加了西电就业信息网的信息发布。
|
|
代码:
|
|