目的
近年来随着人工智能和大数据的发展,数据分析岗也越发火热;想了解目前市场上数据分析岗对人才的需求状况、行业薪资及未来发展前景等,爬取拉勾网数据分析相关岗位近2700条数据做了一次分析
写作步骤
- 数据采集
- 数据清洗
- 数据可视化
- 结论
数据采集
因为拉钩反爬严重,因此用了代理IP、加了请求头,并创建了session对象进行请求,直接附上代码
#调用相关模块,其中pymysql是为了将爬到的数据存到mysql
import requests
import time
import random
import pymysql
# 打开数据库连接
db = pymysql.connect('localhost','root','root','kkb')
# 获取cursor来操作数据库
cursor = db.cursor()
# 创建一张数据表(注:此操作也可在mysql完成)
sql = """create table la_gou(
company_name varchar(30),
company_short_name varchar(20),
city varchar(20),
district varchar(20),
company_size varchar(20),
company_field varchar(20),
company_stage varchar(20),
education varchar(20),
position_name varchar(20),
position_advantage varchar(30),
work_year varchar(20),
salary varchar(20),
position_id varchar(20))"""
# 使用 execute() 方法执行 SQL
cursor.execute(sql)
#创建session对象
session = requests.Session()
#在网上找的代理IP,防止IP被封爬取失败
proxie = [
"134.249.156.3:82",
"1.198.72.239:9999",
"103.26.245.190:43328"]
proxies = {'http':random.sample(proxie,1)}
#添加请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121 Safari/537.36',
'Accept': 'text / html, application / xhtml + xml, application / xml;q = 0.9, image / webp, image / apng, * / *;q = 0.8, application / signed - exchange;v = b3',
'Referer': 'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E5%B8%88?labelWords=&fromSearch=true&suginput='}
url_start = 'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90%E5%B8%88?labelWords=&fromSearch=true&suginput='
session.get(url_start,headers = headers,timeout = 5)
time.sleep(5)
n = 0
list_position = ['数据分析师','数据分析助理','数据分析专家','数据分析专员','数据分析主管','数据分析']
for i