天天看点

【拉勾网职位需求信息爬虫】技能长尾关键词抓取——看看你是否满足企业技能需求(转)

不同的语言,有它们各自擅长的应用场景,选择一门适合自己的语言需要勇气与毅力。

而当你下定决心要在甄选的语言上一条道走到黑的时候,孰不知,选择才刚刚开始。

一门编程语言往往有许多分支,每一个分支都需要掌握不同的技能,我们时常会感到困惑:怎么才能较为准确的分配技能点?

需求决定选择,从招聘方的角度来观察,看看我们未来的金主需要现在的你我掌握什么技能,或许能够从繁多的技术分支中受到启发:

【拉勾网职位需求信息爬虫】技能长尾关键词抓取——看看你是否满足企业技能需求(转)

通过观察可以发现,拉勾网的职位页面详情是由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