python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT

目录

网站:招聘网_人才网_找工作_求职_上前程无忧 (51job.com)

Selenium库介绍

爬虫核心代码

爬取结果

数据处理

数据可视化

PPT


注:以下仅是部分介绍,完整源码、ppt可私信获取。

网站:招聘网_人才网_找工作_求职_上前程无忧 (51job.com)

Selenium库介绍

Selenium是一个基于浏览器自动化的工具,它提供了一套API,可以通过编程的方式来模拟用户在浏览器上的操作,就行用户真正的在浏览器操作一样,例如点击、输入、选择、滚动等等。Selenium支持多种浏览器,包括ChromeFirefoxIESafari等等。 

爬虫核心代码

# 导入 Selenium 相关库
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options
for num in range(1,page+1):
    print(f'爬取第{num}页')

    try:
        # 使用 CSS 选择器获取职位、薪资、地点、标签、公司和性质信息
        jobname_list = browser.find_elements(By.CSS_SELECTOR, '[class="jname at"]') #职位
        salary_list = browser.find_elements(By.CSS_SELECTOR, '[class="sal"]') #薪资
        area_list = browser.find_elements(By.CSS_SELECTOR, '[class="d at"]') #地点+学历
        tag_list = browser.find_elements(By.CSS_SELECTOR, '[class="tags"]') #标签
        companyname_list = browser.find_elements(By.CSS_SELECTOR, '[class="cname at"]') #公司
        attri_list = browser.find_elements(By.CSS_SELECTOR, '[class="dc at"]') #性质
    except:
        print(f'爬取第{num}页出错,开爬下一页')
        continue

    # 循环遍历每个职位信息,并把每个职位的信息存储在一个列表中
    for i in range(20):
        biglist = []
        biglist.append(jobname_list[i].get_attribute("innerText"))
        biglist.append(salary_list[i].get_attribute("innerText"))
        biglist.append(area_list[i].get_attribute("innerText"))
        a=tag_list[i].get_attribute("innerText")
        a=a.replace('\n',',') # 把多个标签间的换行符替换为逗号
        biglist.append(a)
        biglist.append(companyname_list[i].get_attribute("innerText"))
        biglist.append(attri_list[i].get_attribute("innerText"))
        bigdata.append(biglist) # 把每个# 续前面代码
        # 职位信息存储在 biglist 中
        print(biglist)

爬取结果

数据处理

# 处理地点+学历
# 将地点+学历一列的数据按|分隔符进行分割,并将分割后的结果保存到三个新列中
df[['地点', '工作经验', '学历']] = df['地点+学历'].str.split('|', expand=True)

# 对地点一列进行处理,只保留第一个数据
df['城市'] = df['地点'].str.replace(r'(.+?)\·.*', r'\1', regex=True)

# 对工作经验一列进行处理
df['工作经验'] = df['工作经验'].str.extract(r'(\d+)')

# 如果工作经验一列的数据为缺失值,则填充为 0
df['工作经验'].fillna(0, inplace=True)


#处理性质+规模
# 将性质+规模列的数据按|分隔符进行分割,并将分割后的结果保存到两个新列中
df[['性质', '规模']] = df['性质+规模'].str.split('|', expand=True)

# 对规模一列进行处理
df['规模'] = df['规模'].str.replace('少于(\d+)人', r'\1', regex=True)
df['规模'] = df['规模'].str.replace('(\d+)人以上', r'\1', regex=True)
df['规模'] = df['规模'].str.replace('(\d+)-(\d+)人', lambda m: str(int((int(m.group(1)) + int(m.group(2))) / 2)), regex=True)

#如果规模一列的数据为缺失值,则填充为 50
df['规模'].fillna(50, inplace=True)

python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第1张图片 python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第2张图片

数据可视化

 python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第3张图片

python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第4张图片

python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第5张图片

 

python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第6张图片

PPT

 python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第7张图片python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第8张图片

 python爬虫大作业(岗位分析):爬虫+数据处理+数据可视化分析+PPT_第9张图片

 

 

 

 

 

你可能感兴趣的:(python,信息可视化,爬虫)