• 大小: 14KB
    文件类型: .py
    金币: 2
    下载: 2 次
    发布日期: 2024-01-24
  • 语言: Python
  • 标签: python  网络爬虫  

资源简介

通过requests抓包方式爬取拉勾网深圳市的数据分析岗位信息,并利用pandas、pyecharts、jieba、WordCloud等工具,从多维度进行岗位数据的可视化分析。

资源截图

代码片段和文件信息


# coding: utf-8

# In[3]:


#爬虫部分
import requests
# import pandas as pd
import json
import time
#数据可视化部分
import pandas as pd
from collections import Counter
from pyecharts import PieBarGridMapFunnelRadar
#词频词云的模块导入
import jieba
import codecs
from imageio import imread
import os
from os import path
import matplotlib.pyplot as plt
from PIL import Image ImageDraw ImageFont
from wordcloud import WordCloud ImageColorGenerator

#数据分析岗位,拉勾网总共的职位是22页
def data_worm_save():
    position_info_all = []
    for page_num in range(124):
        url = “https://www.lagou.com/jobs/positionAjax.json?px=default&city=%E6%B7%B1%E5%9C%B3&needAddtionalResult=false“
        #my_header = {‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X metaSr 1.0‘}
        #上述伪装的不够彻底
        my_header = {
            ‘Host‘:‘www.lagou.com‘
            ‘Origin‘:‘https://www.lagou.com‘
            ‘Referer‘:‘https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90?px=default&city=%E6%B7%B1%E5%9C%B3‘
            ‘User-Agent‘:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X metaSr 1.0‘
            ‘X-Anit-Forge-Code‘:‘0‘
            ‘X-Anit-Forge-Token‘:‘None‘
            ‘X-Requested-With‘:‘xmlHttpRequest‘}

        #page_num用于修改页码,抓取全部页码的信息
        my_data = {‘first‘:‘true‘‘pn‘:page_num‘kd‘:‘数据分析‘}
        #注意查看post请求还是get请求
        response = requests.post(urlheaders = my_headerdata =my_data  )

        dict_all = json.loads(response.text)
        dict_position_results = dict_all[“content“][“positionResult“][“result“]
        for position_item in dict_position_results:
            position_info_single = []
            position_info_single.append(position_item[“companyFullName“])
            position_info_single.append(position_item[“companyShortName“])
            position_info_single.append(position_item[“companySize“])
            position_info_single.append(position_item[“financeStage“])
            position_info_single.append(position_item[“district“])
            position_info_single.append(position_item[“positionName“])
            position_info_single.append(position_item[“workYear“])
            position_info_single.append(position_item[“education“])
            position_info_single.append(position_item[“salary“])
            position_info_single.append(position_item[“jobNature“])
            position_info_single.append(position_item[“positionAdvantage“])
            position_info_single.append(position_item[“createTime“])
            position_info_all.append(position_info_single)
        print(“第 “+str(page_num)+“ 页数据爬取完毕“)
        time.sleep(20)
        #print(position_info_all) 
    df = pd.Dataframe(data = position_info_allcolumns = [‘公司全名‘‘公司简称‘‘公司规模‘‘融资阶段‘‘区域‘‘职位名称‘‘工作经验‘‘学历要求‘‘工资‘‘工作形式‘‘职位福利‘‘发布时间‘])   
    df.to_csv(r‘C:\Users\yong_\Desktop\La_Gou\data_source\lagou_jobs_page_all.

评论

共有 条评论