请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
查看: 9575|回复: 0

学python就业前景怎么样?

[复制链接]

1

主题

0

好友

9

积分

新手上路

Rank: 1

发表于 2017-4-28 09:10:43 |显示全部楼层
本帖最后由 alpha 于 2017-4-28 09:09 编辑

学了python之后能找到工作吗?相信很多小伙伴都有过这个困扰,那我们今天就用python来分析一下,学了python以后能找到工作吗?能找到什么样的工作。

抓取信息

分析数据的前提是有数据。

这次主要爬取智联招聘python的职位信息。因为我个人感觉智联招聘的信息更全面一点,不过找工作的网站都大同小异,爬取适合自己的就可以。

完整代码见Github: https://github.com/alpha87/Zhilian.
原文链接:http://alpha87.cn

代码部分
  1. import pymongo
复制代码
这些算是爬取信息最常用的库了。
1. pymongo是python和mongo数据库相关操作的库;
2. requests这个库应该不用介绍了吧,网站爬虫的老朋友了;
3. pyquery主要是作为CSS选择器,指定网页中的对应信息;
4. multiprocessing是多进程库。

解析网页
  1. <blockquote>def get_page(url):
复制代码
这部分的作用是模拟浏览器访问网页,如果状态码是200就返回网页内容,如果是其他就返回None。因为网页正常响应返回的状态码是200,我们在这里做一个简单的判断。这样的话在之后爬取过程中出现特殊情况我们可以做其他对策。

在这里给大家推荐一个python库:fake-useragent。这个库可以模拟多种浏览器,安装也非常简单。
  1. pip install fake-useragent
复制代码
使用也很简单:
  1. UA = UserAgent()

  2. UA.Safari
复制代码
输入不同的浏览器名就生成对应的请求头。

解析工作详细信息网页
  1. <blockquote>def parse_index_page(html):
复制代码
这部分把上一个函数返回的网页信息用pyquery解析成可以用CSS定位的内容。然后我们获取每一条工作信息的url,因为返回的url有些不符合条件,所以就加了一条判断,`http://jobs`开头的才是我们需要的职位信息的url。

定位工作的详细信息

我们先看一下我们需要获取的信息:



我们需要获取职位的名称,提供职位的公司名称,公司介绍url,职位月薪,工作地点,发布日期,工作性质,工作经验,最低学历,招聘人数,职位类别,职位描述和工作地址这些信息。
  1. <blockquote>def parse_detail_page(html):
复制代码
这些代码分别抓取到上述有关职位的信息。利用生成器生成这些信息。在使用CSS选择器定位的时候如果出现信息不准确的问题,就定位该标签的父标签。一般都能解决,如果还是显示无关的内容,就试试使用正则或者字符串方法处理。

保存到mongo数据库
  1. <blockquote>def save_to_mongo(content):
复制代码
这部分用来把爬取到的信息保存到数据库。为了爬取到的内容不重复,就使用数据库的更新方法,以“职位描述”为判断依据,因为职位名称可以有重复,职位描述重复的几率估计是没有。如果成功插入信息就输出`Saved`,如果插入失败就输出`Failed`。

保存到txt
  1. <blockquote>def save_catrgory(content):
复制代码
这些代码把不同的信息分别保存到txt文本中,为了下面的职业分析做准备。

运行
  1. def main(page):
  2.     url = "http://sou.zhaopin.com/jobs/searchresult.ashx?jl=%E5%85%A8%E5%9B%BD&kw=python&sm=0&p={}".format(page)
  3.     html = get_page(url)
  4.     docs = parse_index_page(html)
  5.     print("休息后继续...")
  6.     time.sleep(random.randint(1,5))
  7.     for doc in docs:
  8.         html = get_page(doc)
  9.         job_infors = parse_detail_page(html)
  10.         for job_infor in job_infors:
  11.             save_to_mongo(job_infor)
  12.             save_demand(job_infor['职位描述'])
  13.             save_location(job_infor['地点'])
  14.             save_salary(job_infor['职位月薪'])
  15.             save_treatment(job_infor['待遇'])
  16.             save_education(job_infor['最低学历'])
  17.             save_catrgory(job_infor['职位类别'])
  18.             save_experience(job_infor['工作经验'])
  19.             print("休息...")
  20.             time.sleep(random.randint(1,5))


  21. if __name__ == '__main__':
  22.     pool = Pool()
  23.     try:
  24.         pool.map(main, [page for page in range(1,200)])
  25.         print("\n采集完成!")
  26.     except:
  27.         print("可能已经采集完毕。")
复制代码
这部分代码就是将上面的函数运行起来,利用多进程加快爬取速度。

完成了代码的介绍,接下来就是分析我们爬取到的数据了。


数据分析

职位要求

每份工作都会对应一份公司自己拟定的职位要求,我们在爬取过程中单独保存成txt文件。利用词频统计的方式生成词云。



这是处理后的职位要求生成的词云。可以看出公司希望求职者具备扎实的专业技能,良好的沟通能力和合作能力。可以是实习生,可以是学徒,当然更好可以是专家,这些在职位要求中都有体现。

工作地点

python在一线城市非常受欢迎,北京、上海、深圳就占据了一半。



北上广深这些地方的同学找工作找实习会方便不少啊,需求量还是蛮大的。

职业薪资



这个图大家感受一下,python工作的薪资主要集中在8000~15000元左右,配合上图工作地点的分布,说明北上广地区的工资集中在8000~20000元左右,还是比较有诱惑力的。这也为你继续深入学习python提供了动力啊!

工作经验



公司对工作经验的要求还是蛮高的,3~5年出现的次数比较多。

员工福利

给你们一张图感受一下,其实福利还是蛮不错的,还有的总会有的。



python热度



这张图相信大家已经不是第一次见到了。python已经进了最流行编程语言的前五,而且python还被运用于各个方面,不论是科学计算,数据分析,还是艺术,游戏,都有python的身影。这么有用的语言,有什么理由不坚持下来学习呢?

总结

我们爬取了python职位的相关信息,然后利用这些信息做了简单的分析。得出python还是比较有前途的,不论是为了工作,还是自己的兴趣,我们都应该尝试学学这门语言。入门简单,而且网上的资源也很丰富。

文章的最后附上那句经典:

Life is short, you need Python.

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-3-29 05:12 , Processed in 0.024173 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部