1 changed files with 0 additions and 60 deletions
@ -1,60 +0,0 @@ |
|||||
package java01; |
|
||||
|
|
||||
import java.util.List; |
|
||||
import java.util.Map; |
|
||||
|
|
||||
public class Main { |
|
||||
public static void main(String[] args) { |
|
||||
// 1. 初始化爬虫
|
|
||||
JobCrawler crawler = new JobCrawler(); |
|
||||
|
|
||||
// 2. 爬取数据
|
|
||||
System.out.println("开始爬取招聘数据..."); |
|
||||
List<Job> jobs = crawler.crawlJobs("Java", 3); // 爬取3页数据
|
|
||||
System.out.println("爬取完成,共获取 " + jobs.size() + " 条职位信息"); |
|
||||
|
|
||||
// 3. 数据清洗
|
|
||||
DataCleaner cleaner = new DataCleaner(); |
|
||||
jobs = cleaner.cleanJobs(jobs); |
|
||||
System.out.println("数据清洗完成"); |
|
||||
|
|
||||
// 4. 数据存储
|
|
||||
DataStorage storage = new DataStorage(); |
|
||||
storage.writeJobsToCSV(jobs, "jobs.csv"); |
|
||||
|
|
||||
// 5. 数据分析
|
|
||||
DataAnalyzer analyzer = new DataAnalyzer(); |
|
||||
|
|
||||
// 分析技能词频
|
|
||||
Map<String, Integer> skillFrequency = analyzer.analyzeSkillFrequency(jobs); |
|
||||
|
|
||||
// 分析薪资与经验关系
|
|
||||
Map<String, Double> salaryByExperience = analyzer.analyzeSalaryByExperience(jobs); |
|
||||
|
|
||||
// 分析薪资与学历关系
|
|
||||
Map<String, Double> salaryByEducation = analyzer.analyzeSalaryByEducation(jobs); |
|
||||
|
|
||||
// 分析不同地点薪资水平
|
|
||||
Map<String, Double> salaryByLocation = analyzer.analyzeSalaryByLocation(jobs); |
|
||||
|
|
||||
// 分析薪资分布
|
|
||||
Map<String, Integer> salaryDistribution = analyzer.analyzeSalaryDistribution(jobs); |
|
||||
|
|
||||
// 6. 结果展示
|
|
||||
ResultDisplay display = new ResultDisplay(); |
|
||||
|
|
||||
// 控制台输出
|
|
||||
display.displaySkillFrequency(skillFrequency); |
|
||||
display.displaySalaryByExperience(salaryByExperience); |
|
||||
display.displaySalaryByEducation(salaryByEducation); |
|
||||
display.displaySalaryByLocation(salaryByLocation); |
|
||||
display.displaySalaryDistribution(salaryDistribution); |
|
||||
|
|
||||
// 生成图表
|
|
||||
display.generateSkillFrequencyChart(skillFrequency, "skill_frequency.png"); |
|
||||
display.generateSalaryDistributionChart(salaryDistribution, "salary_distribution.png"); |
|
||||
display.generateSalaryByExperienceChart(salaryByExperience, "salary_by_experience.png"); |
|
||||
|
|
||||
System.out.println("\n所有任务完成!"); |
|
||||
} |
|
||||
} |
|
||||
Loading…
Reference in new issue