爬取招聘网站信息保存到csv中,再做工资待遇、岗位发布城市的数量统计的可视化分析
时间: 2024-03-23 16:40:00 浏览: 22
好的,这是一个挺常见的数据处理需求。我可以给你提供一些思路和代码示例:
首先,你需要爬取招聘网站的信息并保存到csv文件中。你可以使用Python中的requests和beautifulsoup4库来实现。以下是一个示例代码:
``` python
import requests
from bs4 import BeautifulSoup
import csv
url = "https://www.xxx.com/jobs"
response = requests.get(url)
soup = BeautifulSoup(response.content, "html.parser")
jobs = []
for job in soup.find_all("div", class_="job"):
job_title = job.find("h2").text.strip()
job_salary = job.find("span", class_="salary").text.strip()
job_city = job.find("span", class_="city").text.strip()
jobs.append([job_title, job_salary, job_city])
with open("jobs.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.writer(f)
writer.writerow(["Title", "Salary", "City"])
writer.writerows(jobs)
```
这段代码会将招聘网站上的职位信息爬取下来并保存到jobs.csv文件中。
接下来,你可以使用pandas和matplotlib库来对数据进行可视化分析。以下是一个示例代码:
``` python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv("jobs.csv")
# 统计不同城市的职位数量
city_counts = df["City"].value_counts()
# 统计不同薪资水平的职位数量
salary_counts = pd.cut(df["Salary"], bins=[0, 5000, 10000, 15000, 20000, 25000, 30000, 35000, 40000]).value_counts()
# 绘制柱状图
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))
ax1.bar(city_counts.index, city_counts.values)
ax1.set_xticklabels(city_counts.index, rotation=90)
ax1.set_xlabel("City")
ax1.set_ylabel("Job Count")
ax2.bar(salary_counts.index.astype(str), salary_counts.values)
ax2.set_xticklabels(salary_counts.index.astype(str), rotation=90)
ax2.set_xlabel("Salary")
ax2.set_ylabel("Job Count")
plt.show()
```
这段代码会读取刚才保存的jobs.csv文件,并统计不同城市和不同薪资水平的职位数量,并绘制成柱状图。
希望这些代码可以帮到你!
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)