爬取boss热门城市数据分析岗位进行数据分析
前言
看了这么久的博客,还是第一次写博客。
朋友圈看到某培训班统计的数据分析岗位的平均薪资已经达到13k左右了。
这篇文章的数据来源是来自boss直聘的热门城市的“数据分析”的岗位,也就是所谓的一线城市加上绝大部分新一线城市,我这里多加了个福州,毕竟胡建人嘛。文章主要从不同工作年龄和不同地区的薪资情况,各薪资范围内的人数,各招聘岗位招聘的人数以及招聘公司所处的行业的词云图进行分析
数据获取
爬取数据用到的模块:
import requests
from fake_useragent import UserAgent
from lxml import etree
import json
import csv
爬取boss网站的时候要注意加cookie,不然返回的时候boss会给你一个请稍后的页面,第一个{}里面用来存放城市的代码,第二个用来存放页数,由于boss网站一个职位只能查看前十页,所以需要遍历城市才能爬取更多的数据
def __init__(self):
self.url_temp = "https://www.zhipin.com/{}/?query=数据分析&page={}"
self.headers = {
'user-agent': ua.random,
'referer': 'https://www.zhipin.com/c101230100/?query=%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90&page=9',
'cookie': ''}
提取数据
#提取数据
def get_content_list(self,html_str):
html = etree.HTML(html_str)
#分组
div_list = html.xpath("//li/div[@class='job-primary']")
print(div_list)
content_list = []
for con in div_list:
item = {
}
item['post'] = con.xpath(".//div[@class='job-title']//text()")[0]
item['company'] = con.xpath(".//div[@class='info-company']/div/h3/a//text()")[0]
item['salary'] = con.xpath(".//h3/a/span/text()")[0]
item['education'] = con.xpath("./div[@class='info-primary']/p//text()")[-1]
item['workyear'] = con.xpath("./div[@class='info-primary']/p//text()")[1]
item['industry'] = con.xpath(".//div[@class='company-text']/p//text()")[0]
item['stage'] = con.xpath(".//div[@class='company-text']/p//text()")[1]
item['scale'