是实训课上需要的task,一共有三个,分别是:
1.金融科技 图表方式 python
完成招聘网站金融岗位数据爬虫和数据分析
2.python
完成股票数据爬虫,形成可视化数据分析结果
3.python
完成二手车网站,形成可视化模型
我选择了第一个,但是后来运行时就是一直不得行,有没有人可以带带我们,急需
这个是运行之后显示的问题
下面是代码的全部内容:
是实训课上需要的task,一共有三个,分别是:
1.金融科技 图表方式 python
完成招聘网站金融岗位数据爬虫和数据分析
2.python
完成股票数据爬虫,形成可视化数据分析结果
3.python
完成二手车网站,形成可视化模型
我选择了第一个,但是后来运行时就是一直不得行,有没有人可以带带我们,急需
这个是运行之后显示的问题
下面是代码的全部内容:
引自免费微信小程序:皆我百晓生
从你提供的信息来看,主要的问题在于代码的缩进错误以及一些逻辑上的小调整。下面是一个修正后的代码示例,用于爬取智联招聘网站的金融岗位数据,并将其保存为CSV文件,然后转换成Excel文件。此外,我还将展示如何使用matplotlib库将数据以图表的形式展示出来。
首先,确保你的代码缩进正确。Python非常依赖于正确的缩进来组织代码块。以下是修正后的代码示例:
# 导入自动化模块
from DrissionPage import ChromiumPage
# 导入csv模块
import csv
# 创建文件对象
with open('data.csv', mode='w', encoding='utf-8', newline='') as f:
# f 文件对象 fieldnames 字段名(表头用字典里面的键)
csv_writer = csv.DictWriter(f, fieldnames=['职位', '公司', '薪资', '学历', '经验', '城市', '区域', '街道', '公司性质', '公司领域', '公司规模', '岗位职责'])
# 写入表头
csv_writer.writeheader()
# 打开浏览器
driver = ChromiumPage()
# 监听数据包
driver.listen.start('fe_api.zhaopin.com/c/i/search/positions')
# 访问网站 进入第二页页面(直接)
driver.get('https://www.zhaopin.com/')
# 网页滑到最下端
driver.scroll.to_bottom()
# 点击上一页
driver.ele('css:.soupager_btn_before').click()
# 等待数据包监听
resp = driver.listen.wait()
# 直接获取数据包响应内容
json_data = resp.response.body
# 提取职位所在列表
lis = json_data['data']['list']
# for循环遍历,提取列表里面职位元素
for li in lis:
dict_ = {
'职位': li['name'],
'公司': li['companyName'],
'薪资': li['salary'],
'学历': li['education'],
'经验': li['workingExp'],
'城市': li['workingCity'],
'区域': li['cityDistrict'],
'街道': li['streetName'],
'公司性质': li['property'],
'公司领域': li['industryName'],
'公司规模': li['companySize'],
'岗位职责': li['jobSummary'],
}
# 写入数据
csv_writer.writerow(dict_)
使用pandas
库可以很容易地实现这一点:
import pandas as pd
df = pd.read_csv('data.csv')
df.to_excel('data.xlsx', index=False)
使用matplotlib
库绘制图表,例如薪资分布:
import matplotlib.pyplot as plt
# 加载数据
df = pd.read_excel('data.xlsx')
# 绘制薪资直方图
plt.figure(figsize=(10, 6))
plt.hist(df['薪资'], bins=20, color='blue', alpha=0.7)
plt.title('薪资分布')
plt.xlabel('薪资')
plt.ylabel('频数')
plt.show()
确保在运行上述代码之前,你已经安装了所有必需的库。可以使用pip命令进行安装:
pip install drissionpage pandas matplotlib openpyxl
这应该能解决你的问题并提供一个完整的解决方案来爬取、存储和可视化智联招聘网站的数据。如果在执行过程中遇到任何问题,检查网络请求是否成功返回数据,以及字段名称是否与实际API返回的字段匹配。