def Refreshed(second): ''' 18版合同“刷新职位” :return: ''' login('00852','20181205') position_url = 'https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json' position_header = get_code_token('https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=position_url,headers=position_header,data={'pageNo':1},remark='获取职位id') positionId=s['content']['data']['parentPositionVOs'][0]['positions'][0]['positionId'] print(positionId) refresh_url = "https://easy.lagou.com/position/refreshPosition.json" refresh_header = get_code_token("https://easy.lagou.com/position/my_online_positions.htm?pageNo=1") refresh_data = {'positionId': positionId} print (refresh_header) jsonobject = form_post(url=refresh_url,headers=refresh_header,data=refresh_data,remark='刷新职位') a=jsonobject.get("state") print(a) if a=="406": assert True==True else: time.sleep(second) jsonobject = form_post(url=refresh_url,headers=refresh_header,data=refresh_data,remark='刷新职位') assert_equal("操作成功","操作成功","首次刷新成功","首次刷新失败") # Refreshed(10)
def akeyRefresh(second): login("00852", "20181205") position_url = 'https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json' position_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=position_url, headers=position_header, data={'pageNo': 1}, remark='获取职位id') positionId = s['content']['data']['parentPositionVOs'][1]['positions'][0][ 'positionId'] print(positionId) refresh_url = "https://easy.lagou.com/parentPosition/multiChannel/statistics.json" refresh_header = get_code_token( "https://easy.lagou.com/position/my_online_positions.htm?pageNo=1") refresh_data = {'needCandidateNum': 'true', 'parentIds': positionId} print(refresh_header) jsonobject = form_post(url=refresh_url, headers=refresh_header, data=refresh_data, remark='一键刷新职位') a = jsonobject.get("message") print(a) if a == "操作成功": assert_equal("操作成功", a, "一键刷新成功", "一键刷新失败") else: time.sleep(second) jsonobject = form_post(url=refresh_url, headers=refresh_header, data=refresh_data, remark='刷新职位') assert_equal("操作成功", a, "一键刷新成功", "一键刷新失败")
def invaitonnumber(): ''' 查询邀约候选人数量 :return: ''' position_url = 'https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json' position_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=position_url, headers=position_header, data={'pageNo': 1}, remark='获取职位id') positionId = s['content']['data']['parentPositionVOs'][1]['positions'][0][ 'positionId'] print(positionId) header = get_header("https://easy.lagou.com/dashboard/index.htm?") #data={"pageNo":1,"pageSize":15,"createBy":0,"unReadOnly":0} url = "https://easy.lagou.com/parentPosition/multiChannel/invitation/" + str( positionId) + ".json" object = get_requests(url=url, remark="查询邀约候选人数量", headers=header) meassage = object['message'] assert_equal("操作成功", meassage, "查询邀约候选人数量成功", "查询邀约候选人数量失败") # # # # hot() # invaitonnumber()
def offlinePosition(positionId): refer_offlinePosition_url = 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm?pageNo=1' Position_header = get_code_token(refer_offlinePosition_url) offlinePosition_url = "https://easy.lagou.com/position/offlinePosition.json" offlinePosition_data = {"positionId": positionId} remark = "下线职位" return form_post(url=offlinePosition_url, data=offlinePosition_data, headers=Position_header, remark=remark, rd='royliu')
def settings_channel_support(ip_port=None): url = "https://easy.lagou.com/settings/channel/support.json" header = get_code_token( "https://easy.lagou.com/settings/new/channel/my_channels.htm?", ip_port=ip_port) remark = "查询当前平台支持的渠道" return form_post(url=url, headers=header, remark=remark, ip_port=ip_port)
def move_to_interview(positionId, resumeOwnerId): url = 'https://easy.lagou.com/settings/template/in_temp.json?positionId=' + str( positionId) refer_listofcandidates_url = "https://easy.lagou.com/can/index.htm" listofcandidates_header = get_code_token(refer_listofcandidates_url) r = get_requests(url=url, headers=listofcandidates_header) templateId = r['content']['rows'][0]['id'] arr_inerview_url = 'https://easy.lagou.com/can/arr_inerview.json' arr_inerview_data = { "resumeId": resumeOwnerId, "templateId": templateId, "linkMan": "宇琦", "address": "海置创投大厦4层", "linkPhone": "18500000000", "templateName": "宇琦", "interviewTime": 1545193800000, "interviewTimeStr": "2018-12-19 12:30:00", "addInfo": "欢迎来面试!", "sendNotice": 1, "forwardEmails": "*****@*****.**" } r = form_post(url=arr_inerview_url, data=arr_inerview_data, headers=listofcandidates_header, remark='面试') return r
def multiChannel_myCompanyParentPositions(): url = "https://easy.lagou.com/parentPosition/multiChannel/myCompanyParentPositions.json" header = get_code_token( "https://easy.lagou.com/can/new/index.htm?can=true&stage=NEW&needQueryAmount=true&newDeliverTime=0&pageNo=1" ) remark = "获取所在公司的父职位-parentPositionId" return form_post(url=url, headers=header, remark=remark)
def refrech(positionId): # 免费刷新后,需过一段时间才可以付费刷新,second为冷却时间,单位秒 a = getrefreshpoint() refrech_url = 'https://easy.lagou.com/position/refreshPosition.json' refrech_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') refrech_data = {'positionId': positionId} r = form_post(url=refrech_url, headers=refrech_header, data=refrech_data, remark='刷新职位') # print('1') # b = getrefreshpoint() # print (r) ''' if a==b: time.sleep(second) logging.info('需等待冷却时间结束后方可刷新,冷却时间'+str(second)) s = form_post(url=refrech_url,headers=refrech_header,data=refrech_data,remark='刷新职位') # print('22') return s else: return r ''' return r # print(refrech()13844856) # refrech(13845370)
def saveCompany(companyShortName, industryField="电商", financeStage='未融资'): financeStage, stages = get_financeStage(financeStage) step2_url = 'https://hr.lagou.com/corpCenter/openservice/step2.html' saveCompany_url = "https://hr.lagou.com/corpCenter/openservice/saveCompany.json" if stages is None: saveCompany_data = { "logo": "i/image2/M01/B0/0F/CgotOV3mDn6AQdeXAABc2chZae0419.png", "companyShortName": companyShortName, "industryField": industryField, "companySize": "150-500人", "financeStage": financeStage } else: stages = json.dumps(stages) saveCompany_data = { "logo": "i/audio1/M00/01/C5/CgHIk1wQzAuAZ5-EAAmU9-3HjA4414.JPG", "companyShortName": companyShortName, "industryField": industryField, "companySize": "150-500人", "financeStage": financeStage, 'stages': stages } saveCompany_header = get_code_token(step2_url) remark = "验证B端成立公司是否成功" return form_post(url=saveCompany_url, data=saveCompany_data, headers=saveCompany_header, remark=remark, rd='王豪')
def resume_preview_info(resumeId, stage): url = f'https://easy.lagou.com/resume/preview_info.json?resumeId={resumeId}' header = get_code_token( f"https://easy.lagou.com/can/new/index.htm?can=true&stage={stage}&needQueryAmount=true&newDeliverTime=0&pageNo=1" ) remark = '查看简历的预览信息' return get_requests(url=url, headers=header, remark=remark)
def ScheduleList(userid): ''' 查询未来28天排期 :param userid: :return: ''' login('00852', '20181205') position_url = 'https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json' position_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=position_url, headers=position_header, data={'pageNo': 1}, remark='获取职位id') positionId = s['content']['data']['parentPositionVOs'][1]['positions'][0][ 'positionId'] print(positionId) header = get_app_header(userid) url = "https://gate.lagou.com/v1/zhaopin/topCard/" + str( positionId) + "/scheduleList" object = get_requests(url=url, headers=header, remark="查询未来28天排期") message = object['message'] assert_equal("操作成功", message, "查询未来28天排期接口正确", "查询未来28天排期接口错误") # MySchedule(100014641) # SendBusiness(100014641) # ScheduleList(100014641)
def position(a): # 0:社招职位,1:校招职位 refer_createPosition_url = "https://easy.lagou.com/position/multiChannel/createPosition.htm" Position_header = get_code_token(refer_createPosition_url) createPosition_url = "https://easy.lagou.com/parentPosition/multiChannel/create.json" createPosition_data = { 'isSchoolJob': a, 'channelTypes': 'LAGOU', 'firstType': '开发|测试|运维类', 'positionType': '后端开发', 'positionThirdType': 'Python', 'positionName': 'python后端开发拉勾测试', 'department': '111', 'jobNature': '全职', 'salaryMin': '11', 'salaryMax': '12', 'education': '不限', 'positionBrightPoint': '11111', 'positionDesc': '<p>111111111111111111111111111111111111111111111</p>', 'workAddressId': '191880', 'labels': '[{"id":"1","name":"电商"}]', 'extraInfor': '[{"labels":[{"id":"1","name":"电商"}]}]', 'channels': '108', 'useEnergyCard': 'false', 'recommend': 'false', "useEnergyCard": "false", 'workYear': '不限' } s = form_post(url=createPosition_url, data=createPosition_data, headers=Position_header, remark='发布职位', rd='royliu') return s
def get_Address(): header = get_code_token( 'https://easy.lagou.com/position/multiChannel/createPosition.htm') url = 'https://easy.lagou.com/workAddress/list.json' r = get_requests(url=url, headers=header, remark='获取地址id').content r = json.loads(r) return r['content']['rows'][0]['id']
def can_new_myfilters(): url = "https://easy.lagou.com/can/new/myfilters.json" header = get_code_token( "https://easy.lagou.com/can/index.htm?pageNo=1&needQueryAmount=true&can=true&stage=NEW&newDeliverTime=0&channels=108&plusTypes=2%2C1&famousCompany=false" ) remark = "获取候选人筛选器" return form_post(url=url, headers=header, remark=remark)
def can_batch_toStageLink(resumeIds): url = 'https://easy.lagou.com/can/batch/toStageLink.json' header = get_code_token( url= 'https://easy.lagou.com/can/new/index.htm?can=true&stage=NEW&needQueryAmount=true&newDeliverTime=0&pageNo=1&subStage=' ) data = {'resumeIds': resumeIds} return form_post(url=url, headers=header, data=data, remark="初筛移至待沟通")
def resume_deleteResumeFilter(resumeFilterId): url = "https://easy.lagou.com/resume/deleteResumeFilter.json" header = get_code_token( "https://easy.lagou.com/can/index.htm?pageNo=1&needQueryAmount=true&can=true&stage=NEW&newDeliverTime=0&channels=108&plusTypes=2%2C1&famousCompany=false" ) data = {"resumeFilterId": resumeFilterId} remark = "删除候选人筛选器" return form_post(url=url, data=data, headers=header, remark=remark)
def can_batch_recommend(resumeIds, parentPositionId): url = "https://easy.lagou.com/can/batch/recommend.json" header = get_code_token( "https://easy.lagou.com/can/new/index.htm?can=true&stage=NEW&needQueryAmount=true&newDeliverTime=0&pageNo=1" ) data = {"resumeIds": resumeIds, "parentPositionId": parentPositionId} remark = "批量推荐候选人到职位" return form_post(url=url, data=data, headers=header, remark=remark)
def exchange(goodsid): url = 'https://jf.lagou.com/integral/mall/goods/exchange.json' data = {'goodsId': goodsid, 'deviceType': 'web'} header = get_code_token('https://jf.lagou.com/task/center/index.htm') return json_post(url=url, data=data, remark='h5兑换积分商品', headers=header) # exchange()
def get_online_positionId(): refer_offlinePosition_url = "https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm?pageNo=1" Position_header = get_code_token(refer_offlinePosition_url) myonlinepostions_url = "https://easy.lagou.com/parentPosition/multiChannel/myOnlinePositions.json" myonlinepostions_data = {"pageNo": 1} remark = "获取下线职位的职位id" r = form_post(url=myonlinepostions_url, data=myonlinepostions_data, headers=Position_header, remark=remark, rd='royliu') positionId = r['content']['data']['parentPositionVOs'][0]['positions'][0]['positionId'] return positionId
def getrefreshpoint(): refreshpoint_url = 'https://easy.lagou.com/position/batchRefreshInfo.json' refreshpoint_header = get_code_token( 'https://easy.lagou.com/position/multiChannel/myOnlinePositions.htm') s = form_post(url=refreshpoint_url, headers=refreshpoint_header, data=None, remark='获取刷新点数') return s['content']['data']['remainPositionPoint']
def head_notifications(ip_port=None): url = 'https://easy.lagou.com/notification/headNotifications.json?start=0&size=5' header = get_code_token( url='https://easy.lagou.com/settings/account/me.htm?', ip_port=ip_port) remark = '通知' return get_requests(url=url, headers=header, remark=remark, ip_port=ip_port)
def batch_sendresume(resumeid,positionlist): # resumeId = get_resumeId(1) for i in positionlist: sendResume_html = 'https://www.lagou.com/jobs/' + str(i) + '.html' sendResume_url = 'https://www.lagou.com/mycenterDelay/deliverResumeBeforce.json' sendResume_header = get_code_token(sendResume_html) sendResume_data = {'positionId': i, 'type': 1, 'resumeId': resumeid, 'force': 'true'} form_post(url=sendResume_url, headers=sendResume_header, data=sendResume_data,remark='发简历')
def post_position(phone, addressId): ''' 批量发布职位 :param sum: 发布职位个数 :return: 发布职位的请求 ''' login('00853', phone) count = 0 posit_list = [('开发|测试|运维类', '后端开发', 'Java', '高级Java'), ('开发|测试|运维类', '移动前端开发', 'IOS', '高级IOS'), ('开发|测试|运维类', '移动前端开发', 'Android', '高级Android')] # for i in range(3): posit = random.randint(0, 2) try: refer_createPosition_url = "https://easy.lagou.com/position/multiChannel/createPosition.htm" Position_header = get_code_token(refer_createPosition_url) createPosition_url = "https://easy.lagou.com/parentPosition/multiChannel/create.json" createPosition_data = { **{ 'isSchoolJob': '1', 'channelTypes': 'LAGOU', 'department': '用户价值部', 'jobNature': '全职', 'salaryMin': '10', 'salaryMax': '12', 'education': '本科', 'workAddressId': addressId, 'positionBrightPoint': '20薪', 'workYear': '应届毕业生', 'channels': '108', 'recommend': True, 'extraInfor': '[{"labels":[{"id":"1","name":"电商"}]}]', 'positionDesc': '<p>脑洞大,创意达,能吃苦。脑洞大,创意达,能吃苦。脑洞大,创意达,能吃苦。脑洞大</p>', 'labels': '[{"id":"1","name":"电商"}]', 'parentExtraInfo': '{}', "useEnergyCard": False }, "firstType": posit_list[posit][0], "positionType": posit_list[posit][1], "positionThirdType": posit_list[posit][2], "positionName": "校招需求" + posit_list[posit][3] } except: pass remark = "批量发布职位成功" r = form_post(url=createPosition_url, data=createPosition_data, headers=Position_header, remark=remark) try: if r['state'] == 1: count += 1 except: pass return {'count': count}
def collection(positionlist,type): # type=1收藏,type=0取消收藏 collectPosition_url = 'https://www.lagou.com/mycenter/collectPositoin.json' get_header(collectPosition_url) for i in positionlist: collectPositoin_html = 'https://www.lagou.com/jobs/'+str(i)+'.html' collectPositoin_data = {'positionId':i,'type':type} collectPositoin_header = get_code_token(collectPositoin_html) form_post(url=collectPosition_url,headers=collectPositoin_header,data=collectPositoin_data,remark='收藏')
def account_my_role(ip_port=None): url = 'https://easy.lagou.com/user/account/my/role.json' header = get_code_token( url='https://easy.lagou.com/settings/account/me.htm?', ip_port=ip_port) remark = '获取当前用户的角色权限' return get_requests(url=url, headers=header, remark=remark, ip_port=ip_port)
def get_shield_expire(ip_port=None): url = 'https://easy.lagou.com/im/chat/getShieldExpire.json' header = get_code_token( url='https://easy.lagou.com/settings/account/me.htm?', ip_port=ip_port) remark = '获取当前消息是否过期' return get_requests(url=url, headers=header, remark=remark, ip_port=ip_port)
def add_saveCompany(): step2_url = 'https://hr.lagou.com/corpCenter/openservice/step2.html' saveCompany_url = "https://hr.lagou.com/corpCenter/openservice/saveCompany.json" saveCompany_header = get_code_token(step2_url) remark = "验证B端成立公司是否成功" return form_post(url=saveCompany_url, headers=saveCompany_header, remark=remark, rd='王豪')
def check_upgrade_to_share(ip_port=None): url = 'https://easy.lagou.com/productContract/checkUpgradeToShare.json' header = get_code_token( url='https://easy.lagou.com/bstatus/auth/index.htm?', ip_port=ip_port) remark = '检查产品升级更新' return get_requests(url=url, headers=header, remark=remark, ip_port=ip_port)
def address_id(code): '''code: 市的code''' url = 'https://easy.lagou.com/lbs/getChildLbsInfoByCode.json?code={}'.format( code) header = get_code_token( url='https://easy.lagou.com/position/multiChannel/createPosition.htm') remark = '获取地址id' content = get_requests(url=url, headers=header, remark=remark) return content['content']['data']['lbsList']
def get_user_company_id(): refer_createPosition_url = "https://easy.lagou.com/position/multiChannel/createPosition.htm" Position_header = get_code_token(refer_createPosition_url) url = 'https://easy.lagou.com/member/getMemberInfo.json' remark = '获取userId和companyId' res = form_post(url=url, headers=Position_header, remark=remark) userId = res['content']['data']['memberInfo']['userId'] companyId = res['content']['data']['memberInfo']['companyId'] return userId, companyId