不同的语言,有它们各自擅长的应用场景,选择一门适合自己的语言需要勇气与毅力。
而当你下定决心要在甄选的语言上一条道走到黑的时候,孰不知,选择才刚刚开始。
一门编程语言往往有许多分支,每一个分支都需要掌握不同的技能,我们时常会感到困惑:怎么才能较为准确的分配技能点?
需求决定选择,从招聘方的角度来观察,看看我们未来的金主需要现在的你我掌握什么技能,或许能够从繁多的技术分支中受到启发:
通过观察可以发现,拉勾网的职位页面详情是由http://www.lagou.com/jobs/+*****(PositionId).html组成,而PositionId可以通过分析Json的XHR获得。而红框里的职位描述内容是我们要抓取的数据。
知道了数据的源头,接下来就按照常规步骤包装Headers,提交FormData来获取反馈数据。
获取PositionId列表所在页面:
通过Json获取PositionId:
合成目标url:
获取数据之后,需要对数据进行清洗,通过BeautifulSoup抓取的职位内容包含Html标签,需要让数据脱去这层“外衣”。
现在得到的数据就是职位描述信息,我们要从职位信息当中筛选我们所关注的任职要求关键词。
我们将这些关键词筛选出来,存储到List当中。经过对整个500+职位进行爬去,我们得到了职位技能关键词的总表。
对关键词按照500+职位需求出现的频次进行排序,选取频次排序Top80的关键词,去除无效的关键词。
这就是抓取之后的数据可视化展示。
附上源码
30*15页的内容抓取需要花费2分多钟,相对来说还是有些慢,可以加入并行模块抓取数据。
至此,拉勾网职位需求关键词的抓取就完成了。
这个爬虫的目的就是为了抓取与编程语言相关的技能需求,大家可以通过排名靠前的关键词获知主流的框架或结构,避免遗漏。也可以通过长尾关键词来扩展自己的知识面。
还有其他功能,大家可以自行开发,这里只做抛砖引玉之用,欢迎交流,转载请注明出处~ (^ _ ^)/~~
http://www.cnblogs.com/Lands-ljk/p/5444619.html