爬取前程无忧招聘网站计算机类岗位信息写入表格并做简单可视化分析
时间: 2023-08-14 09:03:49 浏览: 140
爬取前程无忧网中大数据相关岗位数据并可视化分析.rar
好的,这是一个比较常见的数据爬取和分析任务。首先我们需要使用 Python 编写一个爬虫程序来爬取前程无忧的招聘信息。这里我推荐使用 Python 的 requests 和 BeautifulSoup 库来实现。
以下是爬虫程序的主要步骤:
1. 使用 requests 库发送 HTTP 请求获取网页内容。
2. 使用 BeautifulSoup 库解析 HTML 页面,提取出目标数据。
3. 保存数据到本地或数据库中。
具体实现过程可以参考以下代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 发送 HTTP 请求获取网页内容
url = 'https://search.51job.com/list/000000,000000,0000,00,9,99,计算机,2,1.html'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
html = response.content.decode('gbk')
# 使用 BeautifulSoup 库解析 HTML 页面,提取出目标数据
soup = BeautifulSoup(html, 'html.parser')
job_list = soup.find_all('div', class_='el')
data = []
for job in job_list:
job_name = job.find('a').text.strip()
company_name = job.find('span', class_='t2').text.strip()
salary = job.find('span', class_='t4').text.strip()
location = job.find('span', class_='t3').text.strip()
publish_date = job.find('span', class_='t5').text.strip()
data.append([job_name, company_name, salary, location, publish_date])
# 保存数据到本地
df = pd.DataFrame(data, columns=['职位名称', '公司名称', '薪资', '工作地点', '发布日期'])
df.to_excel('job_info.xlsx', index=False)
# 做简单可视化分析
import matplotlib.pyplot as plt
# 统计每个工作地点的招聘数量
location_count = df.groupby('工作地点')['职位名称'].count().sort_values(ascending=False)
# 绘制柱状图
plt.bar(location_count.index, location_count.values)
plt.title('招聘岗位地区分布')
plt.xlabel('工作地点')
plt.ylabel('招聘数量')
plt.show()
```
通过以上爬虫程序,我们可以将前程无忧招聘网站上的计算机类岗位信息爬取下来,并保存到本地的 Excel 表格中。同时,我们还可以做简单的可视化分析,例如统计每个工作地点的招聘数量并绘制柱状图。
注意:在爬取数据时需要注意网站的反爬机制,不能频繁发送请求,否则可能会被网站禁止访问。建议使用代理 IP 或者设置适当的请求间隔来避免被封禁。
阅读全文