一、介紹
bossbot 是一個(gè)用 python 實(shí)現(xiàn)的、基于boss直聘 websocket 協(xié)議的機(jī)器人,可運(yùn)行在 Linux, Windows 和 Mac OSX 平臺(tái)下。
本項(xiàng)目 github 地址: https://github.com/xmiaoq/bossbot
逆向過程記錄見簡書地址: http://www.itdecent.cn/p/fde49e54dbf5
你可以通過擴(kuò)展 bossbot 來實(shí)現(xiàn):
- 監(jiān)控、收集 boss直聘 消息
- 自動(dòng)消息推送
- 簡歷發(fā)送
- 聊天機(jī)器人
二、安裝方法
在 Python 3.4+ 下使用,用 pip 安裝:
pip install bossbot
三、實(shí)現(xiàn)你自己的 boss直聘 機(jī)器人
1、繼承bossBot類,并重載對(duì)應(yīng)函數(shù)
示例代碼:
from bossbot import BossBot
class Bot(BossBot):
def on_text_message(self, data, boss_id, msg):
'''
文本 消息回調(diào)函數(shù)。
:param data: 收到的完整消息內(nèi)容
:param boss_id: 發(fā)送次消息的boss的id
:param msg: 文本內(nèi)容
:return:
'''
print('收到文字消息:' + msg)
# 回復(fù)文字消息你好
self.send_message(boss_id, "你好")
def on_request_resume_message(self, data, boss_id, mid):
'''
請(qǐng)求發(fā)送簡歷 消息回調(diào)函數(shù)
:param data: 收到的完整消息內(nèi)容
:param boss_id: 發(fā)送次消息的boss的id
:param mid: 消息id,如果需要同意或者拒絕,需要此id
:return:
'''
print('收到boss:%s,請(qǐng)求發(fā)送一份簡歷!' % boss_id)
#同意發(fā)送簡歷
self.accept_resume(boss_id, mid, self.resumes[0]['resumeId'])
def on_connect(self, client, userdata, flags, rc):
'''
websocket連接成功回調(diào)函數(shù)。
:param client:
:param userdata:
:param flags:
:param rc:
:return:
'''
print("websocket 連接成功!")
2、登陸你的boss直聘賬號(hào)
bot = Bot()
# 掃二維碼方式登陸
bot.login()
# 免掃碼登陸,需要先通過掃碼登陸,拿到對(duì)應(yīng)賬號(hào)信息。因?yàn)殚L期有效所以記錄下來,直接使用。
# bot.login(uid='xxxx', user_id="xxxxxxxxx", token="xxxxx")
bot.start()
3、功能示例
# 輸出我的簡歷信息。
print(json.dumps(self.resumes, ensure_ascii=False))
# 輸出與我最近溝通過的boss信息
print(json.dumps(self.bosses, ensure_ascii=False))
boss_id = list(self.bosses.keys())[0]
resume_id = self.resumes[0]
# 獲取boss的詳細(xì)信息,包含job信息
boss_data = self.get_boss_data(boss_id)
print(json.dumps(boss_data, ensure_ascii=False))
# 獲取與boss的歷史聊天記錄
history_msg = self.get_history_msg(boss_id)
print(json.dumps(history_msg, ensure_ascii=False))
# 向boss發(fā)送文字消息
# self.send_message(boss_id, "你好")
# 向boss發(fā)送簡歷
# self.request_send_resume(boss_id, resume_id)
四、待完成任務(wù)清單
- 實(shí)時(shí)消息信息記錄進(jìn)歷史消息
- boss端登陸及使用
- 搜索崗位支持(web端zp_token加密 或 app請(qǐng)求加密及響應(yīng)解密)
聲明
本項(xiàng)目僅供技術(shù)研究,請(qǐng)勿用于任何商業(yè)用途,請(qǐng)勿用于非法用途,如有任何人憑此做何非法事情,均于作者無關(guān),特此聲明。