python爬取泰迪内推平台数据

该Python程序从指定的招聘网站抓取企业和职位信息,存储到找工作.csv文件;同时抓取求职者简历,包括姓名和期望职位,保存到找人才.csv文件。程序使用requests库进行HTTP请求,json库处理响应数据,pandas库进行数据清洗和存储。
摘要由CSDN通过智能技术生成

一、目标网站

网站:https://www.5iai.com/#/jobList
目标数据
目标链接

二、python程序

import requests
import json
import pandas as pd

def getEnterprise(url, dataframe):
    response = requests.get(url, headers=headers)
    js = json.loads(response.text)
    js_data = js['data']['content']
    data = pd.json_normalize(js_data)
    data = data.get(['id', 'enterpriseExtInfo.shortName', 'positionName'])
    data.columns = ['招聘信息ID', '企业名称', '招聘岗位']
    dataframe = pd.concat([dataframe, data], ignore_index=True)
    return dataframe

def getResume(url, dataframe2):
    response2 = requests.get(url, headers=headers)
    js2 = json.loads(response2.text)
    js_data2 = js2['data']['content']
    data2 = pd.json_normalize(js_data2)
    data2 = data2.get(['id', 'username', 'expectPosition'])
    data2.columns = ['求职者ID', '姓名', '预期岗位']
    dataframe2 = pd.concat([dataframe2, data2], ignore_index=True)
    return dataframe2

if __name__ == '__main__':
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}

    url_enterprise = 'https://www.5iai.com/api/enterprise/job/public/es?pageSize=10&pageNumber='
    url_resume = 'https://www.5iai.com/api/resume/baseInfo/public/es?pageSize=10&pageNumber='

    dataframe = pd.DataFrame(columns=['招聘信息ID', '企业名称', '招聘岗位'])
    for i in range(1, 160):
        dataframe = getEnterprise(url_enterprise + str(i), dataframe)
    dataframe.index = dataframe.index + 1
    print(dataframe)
    dataframe['招聘信息ID'] = dataframe['招聘信息ID'] + '\t'
    dataframe = dataframe.rename_axis('序号')
    dataframe.to_csv('找工作.csv', encoding='gb18030')

    dataframe2 = pd.DataFrame(columns=['求职者ID', '姓名', '预期岗位'])
    for i in range(1, 1095):
        dataframe2 = getResume(url_resume + str(i), dataframe2)
    dataframe2['预期岗位'] = dataframe2['预期岗位'].apply(lambda x: str(x)[1:-1].replace('"', ''))
    dataframe2.index = dataframe2.index + 1
    print(dataframe2)
    dataframe2['求职者ID'] = dataframe2['求职者ID'] + '\t'
    dataframe2 = dataframe2.rename_axis('序号')
    dataframe2.to_csv('找人才.csv', encoding='gb18030')

三、效果展示

效果
找工作
找人才

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值