import sys, os import time import pandas as pd project_root = os.path.abspath(os.path.join(os.path.dirname(__file__), "..")) if project_root not in sys.path: sys.path.insert(0, project_root) from web.Requests_Except import MR base_url = 'tstczpw.dtangshan.com' protocol = 'https' default_headers = { 'accept': 'application/json, text/plain, */*', 'accept-language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'authorization': 'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTE5NDA2LCJ1c2VybmFtZSI6IuS5iOW9pua4hSIsInB3ZCI6IjI5YmE3OTA3ZDUxNTE4MGNlNGU5ZmY0Mzk4ZmI5OGNiIiwiaWF0IjoxNzQ4NDgxNDQxLCJleHAiOjE3ODAwMTc0NDF9.EaF6zHc8TE-OsmUW_no3S9g-Ch7Af5xxoB1FtN0cY2U', 'cache-control': 'no-cache', 'pragma': 'no-cache', 'priority': 'u=1, i', 'referer': 'https://tstczpw.dtangshan.com/uc/enterprise/resume-library?tab=resume', 'sec-ch-ua': '"Chromium";v="136", "Microsoft Edge";v="136", "Not.A/Brand";v="99"', 'sec-ch-ua-mobile': '?0', 'sec-ch-ua-platform': '"Windows"', 'sec-fetch-dest': 'empty', 'sec-fetch-mode': 'cors', 'sec-fetch-site': 'same-origin', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36 Edg/136.0.0.0', 'x-platform': '1', 'x-site-id': 'undefined' } default_cookies = { 'x-trace-id': 'b1ed266a69b84acfb41a789948b17cf2', 'logged': '1', '__csrf': 'd89b15be-c143-47e1-b6b2-f367e03e54f1', 'Hm_lvt_f4456766547e6691e07b5e2eced1f70d': '1748435541,1748481435', 'Hm_lpvt_f4456766547e6691e07b5e2eced1f70d': '1748481435', 'HMACCOUNT': '212FF4B3AD499E5B', 'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6MTE5NDA2LCJ1c2VybmFtZSI6IuS5iOW9pua4hSIsInB3ZCI6IjI5YmE3OTA3ZDUxNTE4MGNlNGU5ZmY0Mzk4ZmI5OGNiIiwiaWF0IjoxNzQ4NDgxNDQxLCJleHAiOjE3ODAwMTc0NDF9.EaF6zHc8TE-OsmUW_no3S9g-Ch7Af5xxoB1FtN0cY2U', } Requests = MR(base_url, protocol) Requests.set_default_headers(default_headers) Requests.set_default_cookies(default_cookies) pd_data = { 'resume_id': [], '姓名': [], # user_name '求职区域': [], # area_show '学历': [], # education_level_msg '婚姻': [], # marry_status_show '年龄': [], # user_age '求职状态': [], # work_status_show '工作1经历': [], '工作2经历': [], '工作年限':[], '薪资':[], } def page_list(page: int = 1) -> str: url = '/api/v1/resumes' params = { '_': str(int(time.time() * 1000)), 'tab': 'resume', 'keyword': '财务', 't':str(int(time.time() * 1000)-200), 'pageSize': '100', 'pageIndex': str(page), 'showStatus': 'true', } response = Requests.get(url, params=params) return response.to_Dict() def info(data): infos = data.data.items for info in infos: pd_data['resume_id'].append(info.id) pd_data['姓名'].append(info.name_value) pd_data['求职状态'].append(info.job_instant_value) pd_data['工作年限'].append(info.work_exp_value) pd_data['婚姻'].append(info.marriage_value) pd_data['年龄'].append(info.age) if (info.job_salary_from == 0 and info.job_salary_to == 0) or (info.job_salary_from is None and info.job_salary_to is None): xinzi = "面议" else: xinzi = f"{info.job_salary_from}~{info.job_salary_to}" pd_data['薪资'].append(xinzi) pd_data['学历'].append(info.edu_value) pd_data['求职区域'].append(info.job_region_value) cateforyArr = info.infoCateforyArrObj if len(cateforyArr) == 0: pd_data['工作1经历'].append('') pd_data['工作2经历'].append('') elif len(cateforyArr) == 1: pd_data['工作1经历'].append(cateforyArr[0].name) pd_data['工作2经历'].append('') elif len(cateforyArr) >= 2: pd_data['工作1经历'].append(cateforyArr[0].name) pd_data['工作2经历'].append(cateforyArr[1].name) info(page_list(1)) df = pd.DataFrame(pd_data) df.to_excel(f'{base_url}_财务.xlsx', index=False)