數(shù)行代碼實(shí)現(xiàn)boss直聘機(jī)器人


一、介紹

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),特此聲明。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容