当前位置:首页 > 人工智能

Python开发在北京的就业现状分析

发布时间:2019-05-08 18:05:55   编辑:it技术学习网   阅读次数:

蟒蛇开发者分析工作在北京目前的情况
摘要:在本文中,爬行类和数据分析给你看北京的什么Python的发展现状,希望能帮助你在职业生涯规划方面。关键词:Python同学们相信,在卷收器或多或少地投简历,突然想知道今天约的薪水北京Python开发,招聘需求,利益和公司位置。由于它必须是分析现有数据样本。通过爬行动物和数据分析给你看北京的什么Python的发展现状,希望能帮助你在职业生涯规划方面!!!

爬虫

第一步骤是从天然履带开始分析请求和页面源。从网页源代码,我们无法找到发布的任何工作。但在要求,我们看到了这样一个POST请求

下面我们可以看到,该图

网址:https:// WWW。拉钩。COM /职位/ positionAjax。JSON?城市=%E5%8C%97%E4%BA%AC&needAddtionalResult =假请求模式:po海峡esult:作业释放TOTALCOUNT:作为作业数

Python开发在北京的就业现状分析

Python开发在北京的就业现状分析

通过实践发现,除了必须携带头,拉的IP网络接入频率钩被限制。一开始会提示“访问过于频繁”,将继续访问IP黑名单拉。但是,将自动从黑名单一段时间后取出。

对于这一战略,我们可以限制请求的频率,缺点是影响爬行动物的效率。

其次,我们还可以通过代理IP爬行。可以免费代理IP网上找到,但大部分不太稳定。少付实惠的价格。

具体看看我们如何选择

1个想法

通过分析这些请求我们发现,15%的回报数据,TOTALCOUNT告诉我们,就业总人数。

四舍五入到的页面总数可获取。然后将得到的数据保存到CSV文件。所以我们得到的数据源的数据分析!

POST请求表单数据传递三个参数

第一:是家庭(没有使用)PN:页KD:关键字搜索

2NO BB,显示代码

##Kind搜索密钥获取请求结果#page默认页面1defget_JSON(种类,页= 1,):#交请求参数param = { ‘第一’: ‘真’, ‘PN’:页, ‘KD’:一种}头= { ‘主机’:“WWW。拉钩。COM '‘ Referer的 ’:‘ https://开头WWW。拉钩。COM /职位/ list_python?labelWords =&fromSearch =真suginput = ’‘ 用户代理 ’:‘ 的Mozilla / 5.0(在Macintosh; IntelMacOSX10_12_6)为AppleWebKit / 537.36(KHTML,likeGecko)铬/ 69.0。3497.100Safari / 537.36 ’代理集#}代理= [{的‘ http ’:‘ 140.143。96.216:80 ’‘ https ’时:‘ 140.143。96.216:80 ’},{‘ HTTP ’:‘ 119.27。177.169:80 ’‘ https ’时:‘ 119.27。177.169:80 ’},{‘ HTTP ’:‘ 221.7。255.168:8080 ’‘ HTTPS ’:‘ 221.7。255.168:8080 ’}]#urlurl请求=的‘ https:// WWW。拉钩。COM /职位/ positionAjax。json?PX =默认&城市=%E5%8C%97%E4%BA%AC&needAddtionalResult =假“#使用代理#响应访问请求=。交(URL,标题=报头,数据=参数,代理=随机。选择(代理))响应请求=。交(URL,标题=报头,数据=参数,代理=代理)响应。编码=“UTF-8’ifresponse。STATUS_CODE == 200:响应=响应。JSON()#请求响应positionResult包括就业查询和网页信息的总数量(公司名称,地址,工资,福利等。)Returnresponse [ ‘内容’] [ ‘positionResult’] returnNone

然后,我们只需要调用get_json每个页面请求后获得的结果可以被删除,然后遍历所需的就业岗位

if__name __ ==“__主__”:#默认查询数据种类的第一页=“蟒”#请求的最后采集的总条数position_result = get_json(种类=那种)#总= position_result [总数‘ TOTALCOUNT ’]打印(‘{}发展位置,在就业总数{}文章。“。格式(种类,总计))#15每四舍五入计算的page_total页面总数=数学。小区(总/ 15)#所有查询结果search_job_result = []#foriinrange(1,总+ 1),以便将数据保存攀爬仅foriinrange(1100)之前的#效率100页:position_result = get_json(种类=种类,页= i)每名后取#完成,暂停,时间服务器被拉黑。工作page_python_job睡眠(15)#当前页= [] forjinposition_result [ ’结果‘]:python_job = []#企业全称python_job。追加(j [ ’companyFullName‘])#简称python_job。追加(j [ ’companyShortName‘])公司python_job的#大小。追加(j [ ’companySize‘])#融资python_job。追加(j [ ’financeStage‘])#相关区域python_job。追加(j [ ’区‘])#标题python_job。追加(j [ ’positionName‘])#要求工作经验python_job。追加(j [ ’工作年‘])#雇用资格python_job。追加(j [ ’教育‘])#薪金范围python_job。追加(j [ ’薪水‘])#好处python_job。追加(j [ ’positionAdvantage‘])page_python_job。追加(python_job)#把所有名单search_job_result + = page_python_jobprint(“{}上抓取页面的数据完成后,职位目前总人数为:{}”。格式(我LEN(search_job_result)))#每个抓取完成后,暂停,被拉黑的时间服务器。睡眠(15)

好! 我们必须得到数据,最后一步,我们需要保存的数据

#共有输出数据到数据帧DF接着= PD。数据框(数据= search_job_result,列= [“公司的全名”,“公司简称”“公司规模”,“融资阶段”,“区域”,“职位”,“体验”,”学术要求, ’‘ 工资, ’工作福利‘])DF。to_csv(“拉钩。CSV ’索引=假,编码=‘ UTF-8_sig“)

直接对结果运行的主要方法:

数据分析

为了方便我们的统计,我们需要通过分析数据CVS文件被清洗

剔除此类招聘学习岗位,而不需要或工作处理的生活,作为一个应届生0的薪金范围需要计算的近似值为大专以上学历无

#读取数据DF = PD。read_csv(“拉钩。CSV ’编码=‘ UTF-8“)#数据清洗,不含放置位置DF。降(DF [DF [ ’职位名称‘]。海峡。在含有(“训练”)]。指数,就地=真)#PRINT(DF。描述与数据())#CSV文件中的一个字符串的形式,使用正则表达式到一个列表中,然后将第一串检取的平均间隔图案=“D +” DF [“work_year”] = DF [“经验” ]。海峡。的findall(模式)#数据处理后的生活avg_work_year = []#工作寿命foriindf [“work_year”]:#如果经验为“不限”或“毕业生”,则匹配为空,的0iflen(i)所述工作寿命= = 0:avg_work_year。附加(0)#如果匹配值是一个数,它返回eliflen(ⅰ)== 1的值:avg_work_year。追加(INT( ’‘。加入(ⅰ)))#如果匹配值范围内,然后将其平均否则:num_list = [INT(J)forjini] avg_year =总和(num_list)/ 2avg_work_year。追加(avg_year)DF [ ’经验‘] = avg_work_year#字符串转换成列表,然后取前25%的范围内,DF [ ’薪水‘] = DF [ ’薪水‘]更现实的。str。的findall(模式)#每月avg_salary = [] forkindf [ ’薪水‘]:int_list = [INT(N)fornink] avg_wage = int_list [0] +(int_list [1] -int_list [0])/ 4avg_salary。追加(avg_wage)DF [“月薪”] = avg_salary#认定为最起码的资格岗位要求的学历层次:大专DF [“学历要求”] = DF [“学历要求”]。更换(“任何”,“三级”)

通过一个简单的清洁后的数据,让我们开始我们的统计

1战平工资直方图

#绘制频率直方图和保存PLT。HIST(DF [ ’月薪‘])PLT。xlabel( ’工资(千人)‘)PLT。ylabel( ’频率‘)PLT。标题(“工资直方图”)PLT。savefig(薪酬。JPG“)PLT。节目 ()

Python开发在北京的就业现状分析

结论:大部分的薪水北京Python开发的是15?25K之间

地点派2

#绘制一个饼图并保存计数= DF [“区域”]。value_counts()PLT。馅饼(计数,标签=计。键(),labeldistance = 1.4,autopct =“%2.1F %%“)PLT。轴(“等于”)#PLT作出正确的圆饼。图例(LOC = ’upperleft‘,bbox_to_anchor =( -  0.1,1))PLT。savefig(“pie_chart。JPG“)PLT。节目 ()

Python开发在北京的就业现状分析

结论:最Python开发公司是海淀区,其次是朝阳区。北京准备去上班的小伙伴可能知道在哪里可以租

3所学历要求直方图

#{ ’度‘:1304, ’叔‘:94, ’主‘:57, ’博士‘:1}的dict = {} foriindf [ ’学术要求‘]:ifinotindict。键():DICT [I] = 0else:字典[I] + = 1索引=列表(字典。键())打印(指数)NUM = [] foriinindex:NUM。追加(字典[I])打印(NUM)PLT。杆(左=指数,高度= NUM,宽度= 0.5)PLT。节目 ()

Python开发在北京的就业现状分析

结论:Python的工作,大部分企业要求大学本科以上学历。但教育只是一个敲门砖,如果努力提升自己的技术,这些都是没有的事

4个效益词云

绘图#词云,在位置好处摘要的文字串=“” forlineindf [“与好处位置”]:使用文本单词列表+ =行#解霸模块被划分成一个字符串cut_text =“”。加入(解霸。切(文本))#color_mask = imread(“云。JPG“)#设置背景云= WordCloud(BACKGROUND_COLOR =”白“#运营商必须标明了中国字体font_path =”雅黑。TTF”,#掩模= color_mask,max_words = 1000,max_font_size = 100)。生成(cut_text)#保存字云图云。to_file(“word_cloud。JPG“)PLT。imshow(云)PLT。轴( ’OFF')PLT。节目 ()

Python开发在北京的就业现状分析

结论:弹性工作是公司最幸福,其次是五险一金几家公司也提供六险一金。团队氛围,扁平化管理也是非常重要的方面。

到目前为止,这种分析总结。有需要的学生还可以检查出其他作业或作业区哦?

我们希望能够帮助您找到自己的发展和职业规划。

本文链接:Python开发在北京的就业现状分析

友情链接: 心经结缘 大悲咒 大悲咒功德
网站地图
it技术学习网版权所有   苏ICP备18043316号