1、当地招聘会2、熟人介绍3、猎头公司4、网上发布招聘广告5、其他招聘形式
1、思路:明确需要爬取的信息分析网页结构分析爬取流程优化2、明确需要爬取的信息职位名称工资职位描述公司名称公司主页详情网页分析网页结构3、目标网站-拉勾网网站使用json作为交互数据,分析json数据,需要的json关键数据查看需要的信息所在的位置,使用Jsoup来解析网页4、分析爬取流程1.获取所有的positionId生成详情页,存放在一个存放网址列表中List joburls2.获取每个详情页并解析为Job类,得到一个存放Job类的列表List jobList3.把List jobList存进Excel表格中Java操作Excel需要用到jxl5、关键代码实现public List getJobUrls(String gj,String city,String kd){ String pre_url="https://www.lagou.com/jobs/"; String end_url=".html"; String url; if (gj.equals("")){ url="http://www.lagou.com/jobs/positionAjax.json?px=default&city="+city+"&needAddtionalResult=false&first=false&pn="+pn+"&kd="+kd; }else { url="https://www.lagou.com/jobs/positionAjax.json?gj="+gj+"&px=default&city="+city+"&needAddtionalResult=false&first=false&pn="+pn+"&kd="+kd; }String rs=getJson(url); System.out.println(rs); int total= JsonPath.read(rs,"$.content.positionResult.totalCount");//获取总数 int pagesize=total/15; if (pagesize>=30){ pagesize=30; } System.out.println(total); // System.out.println(rs); List posid=JsonPath.read(rs,"$.content.positionResult.result[*].positionId");//获取网页id for (int j=1;j<=pagesize;j++){ //获取所有的网页id pn++; //更新页数 url="https://www.lagou.com/jobs/positionAjax.json?gj="+gj+"&px=default&city="+city+"&needAddtionalResult=false&first=false&pn="+pn+"&kd="+kd; String rs2=getJson(url); List posid2=JsonPath.read(rs2,"$.content.positionResult.result[*].positionId"); posid.addAll(posid2); //添加解析的id到第一个list } List joburls=new ArrayList<>(); //生成网页列表 for (int id:posid){String url3=pre_url+id+end_url; joburls.add(url3); } return joburls; }public Job getJob(String url){ //获取工作信息 Job job=new Job();Document document= null;document = Jsoup.parse(getJson(url)); job.setJobname(document.select(".name").text()); job.setSalary(document.select(".salary").text());String joball=HtmlTool.tag(document.select(".job_bt").select("div").html());//清除html标签 job.setJobdesc(joball);//职位描述包含要求job.setCompany(document.select(".b2").attr("alt")); Elements elements=document.select(".c_feature"); //System.out.println(document.select(".name").text()); job.setCompanysite(elements.select("a").attr("href")); //获取公司主页 job.setJobdsite(url); return job; }void insertExcel(List jobList) throws IOException, BiffException, WriteException { int row=1; Workbook wb = Workbook.getWorkbook(new File(JobCondition.filename)); WritableWorkbook book = Workbook.createWorkbook(new File(JobCondition.filename), wb);WritableSheet sheet=book.getSheet(0);for (int i=0;i
debug?侧边双击两下,出现蓝色小点,反键运行下面有一个,debug运行模式。
xx公司因公司业务需要,现招聘会计人员一名:月薪:xx元(或面议),工作性质:全职(双休)最低学历:专科(或本科)工作经验:3-5年职位要求:可根据自己公司具体会计人员需要工作的内容来定,以下可做参考。职位要求:1、 要求有一定的财务、会计、税务知识,懂项目合并、资本运营等专业人 员;有会计师事务所经验参与过IPO、上市公司审计或者做过项目收购净值调查等方面的人员;2、具有四级以上的英语水平或同等以上的英语水平;3、能承但工作压力,有一定的协调、沟通能力团队意识强,熟练使用电脑及办公软件;4、工作长期服务于跨国集团及国企集团,工作地点交通便利(地铁沿线)。