mysql 2分钟_定时器2分钟爬一次数据添加到Mysql(给一个网址到上面去爬该网址的数据)...

packagecom.nongyuanbao.server;importjava.io.IOException;importjava.util.List;importorg.apache.http.HttpResponse;importorg.apache.http.client.config.RequestConfig;importorg.apache.http.client.methods.HttpGet;importorg.apache.http.impl.client.CloseableHttpClient;importorg.apache.http.impl.client.HttpClients;importorg.apache.http.util.EntityUtils;importcom.alibaba.fastjson.JSON;importcom.jfinal.aop.Before;importcom.jfinal.plugin.activerecord.tx.Tx;importcom.neptune.core.project.AutoIdHelper;importcom.nongyuanbao.vo.SrtResultVO;importcom.nongyuanbao.weather.model.Report;public classWeatherReportServer {/*** 一个小时爬30次数据*/@Before(Tx.class)public voidaddWeatherreport(){

CloseableHttpClient httpCilent2=HttpClients.createDefault();

RequestConfig requestConfig=RequestConfig.custom()

.setConnectTimeout(5000) //设置连接超时时间

.setConnectionRequestTimeout(5000) //设置请求超时时间

.setSocketTimeout(5000)

.setRedirectsEnabled(true)//默认允许自动重定向

.build();

HttpGet httpGet2= new HttpGet("https://free-api.heweather.com/s6/weather/now?location=%E9%B2%81%E5%B1%B1&key=1d39bc6e725649dabebf1a3c1f27f4cc");

httpGet2.setConfig(requestConfig);

String srtResult= "";try{

HttpResponse httpResponse=httpCilent2.execute(httpGet2);if(httpResponse.getStatusLine().getStatusCode() == 200){

srtResult= EntityUtils.toString(httpResponse.getEntity());//获得返回的结果//srtResult.substring(srtResult.indexOf(":"),srtResult.lastIndexOf("}"));

List srtResultList = JSON.parseArray( srtResult.substring(srtResult.indexOf(":")+1,srtResult.lastIndexOf("}")), SrtResultVO.class);

System.out.println(srtResultList);for(SrtResultVO vo : srtResultList){

Report weatherreport= newReport();

weatherreport.setId(AutoIdHelper.getId());

weatherreport.setCid(vo.getBasic().getCid());

weatherreport.setLocation(vo.getBasic().getLocation());

weatherreport.setCity(vo.getBasic().getParent_city());

weatherreport.setProvince(vo.getBasic().getAdmin_area());

weatherreport.setCnty(vo.getBasic().getCnty());

weatherreport.setLat(vo.getBasic().getLat());

weatherreport.setLon(vo.getBasic().getLon());

weatherreport.setTz(vo.getBasic().getTz());

weatherreport.setLoc(vo.getUpdate().getLoc());

weatherreport.setUtc(vo.getUpdate().getUtc());

weatherreport.setCloud(vo.getNow().getCloud());

weatherreport.setCondCode(vo.getNow().getCond_code());

weatherreport.setCondTxt(vo.getNow().getCond_txt());

weatherreport.setFl(vo.getNow().getFl());

weatherreport.setHum(vo.getNow().getHum());

weatherreport.setPcpn(vo.getNow().getPcpn());

weatherreport.setPres(vo.getNow().getPres());

weatherreport.setTmp(vo.getNow().getTmp());

weatherreport.setVis(vo.getNow().getVis());

weatherreport.setWindDeg(vo.getNow().getWind_deg());

weatherreport.setWindDir(vo.getNow().getWind_dir());

weatherreport.setWindSc(vo.getNow().getWind_sc());

weatherreport.setWindSpd(vo.getNow().getWind_spd());

weatherreport.setStatus(vo.getStatus());

System.out.println(weatherreport);

weatherreport.save();

}

}else if(httpResponse.getStatusLine().getStatusCode() == 400){//..........

}else if(httpResponse.getStatusLine().getStatusCode() == 500){//.............

}

}catch(IOException e) {

e.printStackTrace();

}finally{try{

httpCilent2.close();

}catch(IOException e) {

e.printStackTrace();

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值