package cn.tedu.service.impl;
import cn.tedu.dao.JobDao;
import cn.tedu.dao.impl.JobDaoImpl;
import cn.tedu.entity.Job;
import cn.tedu.entity.JobInfo;
import cn.tedu.service.JobInfoService;
import cn.tedu.service.JobService;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class JobServiceImpl implements JobService {
JobDao jobDao = new JobDaoImpl();
JobInfoService jobInfoService = new JobInfoServiceImpl();
@Override
public void save() {
// 查询t_job表中的数据条数
int count = jobDao.count();
// 如果没有数据, 就爬取数据并保存
if (count <= 0) {
List<JobInfo> jobInfos = jobInfoService.list();
for (JobInfo jobInfo : jobInfos) {
// 网页地址
String url = "D:\\51job\\" + jobInfo.getName();
File file = new File(url);
// 创建文档对象
Document doc = null;
try {
// 加载网页, 51job采用GBK编码
doc = Jsoup.parse(file, "GBK");
} catch (IOException e) {
e.printStackTrace();
}
// 获取class值为e的元素(DIV标签)
Elements es = doc.getElementsByClass("e");
for (Element e : es) {
// 岗位名
Elements elements1 = e.getElementsByClass("jname");
String name = "";
for (Element e1 : elements1) {
name = e1.text();
}
// 公司名
Elements elements2 = e.getElementsByClass("cname");
String company = "";
for (Element e2 : elements2) {
company = e2.text();
}
// 地点 经验 学历
Elements elements3 = e.getElementsByClass("d");
String address = "";
for (Element e3 : elements3) {
address = e3.text().split(" | ")[0]; // 取到地点
}
// 薪资
Elements elements4 = e.getElementsByClass("sal");
String salary = "";
for (Element e4 : elements4) {
salary = e4.text();
}
// 发布日期
Elements elements5 = e.getElementsByClass("time");
String pushDate = "";
for (Element e5 : elements5) {
pushDate = e5.text();
}
Job job = new Job(name, company, address, salary, pushDate);
// 防止读取到空白数据
if (name != null && !name.equals("")) {
jobDao.save(job);
}
}
}
}
}
@Override
public List<Job> list() {
return jobDao.list();
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
jsoup_job.zip (74个子文件)
jsoup_job.sql 2KB
jsoup_job
pom.xml 4KB
src
test
java
cn
tedu
test
JsoupTest.java 3KB
main
resources
db.properties 101B
java
cn
tedu
servlet
InitServlet.java 447B
BaseServlet.java 1KB
JobServlet.java 734B
dao
JobInfoDao.java 152B
JobDao.java 197B
impl
JobInfoDaoImpl.java 1KB
JobDaoImpl.java 3KB
service
JobInfoService.java 160B
JobService.java 173B
impl
JobInfoServiceImpl.java 413B
JobServiceImpl.java 3KB
entity
Job.java 2KB
JobInfo.java 359B
util
DBUtil.java 2KB
JsonUtil.java 967B
webapp
WEB-INF
web.xml 215B
index.jsp 52B
assets
js
echarts
echarts.min.js 537KB
map
yunnan.js 62KB
neimenggu.js 57KB
shanxi.js 23KB
hubei.js 38KB
chongqing.js 47KB
xianggang.js 13KB
anhui.js 31KB
hebei.js 39KB
jiangxi.js 32KB
shanxi1.js 31KB
jiangsu.js 23KB
beijing.js 22KB
hunan.js 45KB
gansu.js 47KB
hainan.js 29KB
ningxia.js 13KB
qinghai.js 44KB
heilongjiang.js 77KB
guangdong.js 71KB
aomen.js 3KB
fujian.js 43KB
jilin.js 41KB
xinjiang.js 86KB
guizhou.js 32KB
guangxi.js 46KB
sichuan.js 83KB
henan.js 36KB
xizang.js 50KB
tianjin.js 11KB
zhejiang.js 50KB
shanghai.js 12KB
shandong.js 50KB
liaoning.js 49KB
taiwan.js 29KB
jqPaginator.js 7KB
common
bootstrap.min.js 36KB
jquery-1.9.1.min.js 90KB
echarts.min.js 727KB
index.js 17KB
jquery-1.8.3.js 261KB
jquery.min.js 91KB
css
common
animate.min.css 55KB
index.css 5KB
index.html 6KB
jsoup_job.iml 81B
.idea
jarRepositories.xml 879B
uiDesigner.xml 9KB
workspace.xml 16KB
misc.xml 656B
compiler.xml 542B
.gitignore 184B
encodings.xml 267B
共 74 条
- 1
资源评论
zhangyan_1010
- 粉丝: 556
- 资源: 8
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【图像分类数据集】香蕉新鲜度等级识别香蕉成熟度识别分类数据集1186张3个等级.zip
- 【图像分类数据集】眼疾分类数据集1800张6类别.zip
- 【图像分类数据集】明虾病害分类数据集880张7类别.zip
- 【目标检测数据集】稻谷叶子虫害检测VOC+YOLO格式1500张9类别.zip
- 斑马FX9600固定读卡器引用jar包
- 斑马FX9600固定读卡器 驱动
- MATLAB车牌识别语音播报停车场应用基于MATLAB的汽车出入库识别系统源码.zip
- 基于Matlab的异常行为检测人体行为识别检测源码.zip
- 一些程序员常用工具,包括Windbg-x86-x64、VisualStudio版本互转工具、DLL依赖检测工具
- 火龙果Pitaya ISP下载工具
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功