1. 本人的毕业设计是制作一个淮河水量水质监测系统,数据从哪来,这是一个需要考虑的问题。起初,我尝试过使用一些网站的api接口,后来因为各种问题(价格十分昂贵、数据没有及时更新)不得不放弃。

  2. 百度了好久,才发现“中国环境监测总站”上面有实时的水质数据。但问题又来了,查看网页源码时,发现源码上面没有具体的水质数据,也就是这些数据是通过ajax的方式动态加载的,想要利用Jsoup爬取这些动态数据,不太现实。

  3. F12打开开发人员工具,发现了一条请求路径和请求的参数。如下图:

    直接点击请求路径,奇迹出现了,页面上返回了JSON格式的数据,如下图:

    这也就意味着,可以把它当成一个免费的API来使用啦!(某网站的API价格1000起步,数据还贼旧)。

  4. 话不多述,直接上JAVA代码:

package json;import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.URL;/*** @author laoyingyong* @date: 2020-01-17 15:06*/
public class Demo3
{public static void main(String[] args) throws Exception{//参数字符串,如果拼接在请求链接之后,需要对中文进行 URLEncode   字符集 UTF-8String param = "Method=SelectRealData";StringBuilder sb = new StringBuilder();InputStream is = null;BufferedReader br = null;PrintWriter out = null;try {//接口地址String url = "http://123.127.175.45:8082/ajax/GwtWaterHandler.ashx";URL    uri = new URL(url);HttpURLConnection connection = (HttpURLConnection) uri.openConnection();connection.setRequestMethod("POST");connection.setReadTimeout(5000);connection.setConnectTimeout(10000);connection.setRequestProperty("accept", "*/*");//发送参数connection.setDoOutput(true);out = new PrintWriter(connection.getOutputStream());out.print(param);out.flush();//接收结果is = connection.getInputStream();br = new BufferedReader(new InputStreamReader(is, "UTF-8"));String line;//缓冲逐行读取while ( ( line = br.readLine() ) != null ){sb.append(line);}String backStr=sb.toString();System.out.println(backStr);} catch ( Exception e ){System.out.println(e);} finally{//关闭流try{if(is!=null){is.close();}if(br!=null){br.close();}if (out!=null){out.close();}} catch ( Exception ignored ){System.out.println(ignored);}}}
}
  1. 运行结果如下:
  • 其实,返回的是全国各地监测站的水质数据,但里面已经包含了淮河各个监测站的水质数据。至于淮河到底有哪些监测站,中国环境监测总站上面写有的,可以自己到网站上的相关栏目进行查看。也就是,可以根据测站名称进行筛选。
  • 获取到了JSON数据,就可以利用一些JSON解析工具对这些数据进行解析,比如jackson、fastjson、gson等等。

JAVA获取淮河实时的水质数据相关推荐

  1. 微型水质监测站——在线实时监测水质数据

    一.产品概述 微型水质监测站是一款用于河道.水渠.湖泊.水池等场景水质监测设备,设备采用自带太阳能发电系统供电,无需另外供电,安装方便,使用简单.可以在线实时监测水质数据,当水质数据超过阈值后触发告警 ...

  2. java获取几天前的数据 年份发现报错 月份日期正常 yyyy-mm-dd与yyyy-MM-dd的大坑啊!!!

    java获取几天前的数据 年份发现报错 yyyy-mm-dd与yyyy-MM-dd的大坑 话不多上上图 当我把时间区间改成365天 30天的时候就很正常 我发现就是180天左右的情况时间不对 ,其他都 ...

  3. java获取美元实时行情_获取股票实时交易数据的方法

    http://walsece.iteye.com/blog/169514 炒股有一段时间了,发现现在的股票行情软件在很多情况下并不是太好用,我炒股的时候喜欢看盘口的实时交易记录,如果同时关注多支股票的 ...

  4. JAVA获取股票实时KDJ_Java从网络获取股票实时数据,2种方法webservice和javascript

    两种方法: /javascript接口取数据 -service接口 1. http/javascript接口取数据 1.1 Sina股票数据接口 以大秦铁路(股票代码:601006)为例,如果要获取它 ...

  5. java获取基金实时数据_获取股票实时交易数据的方法

    var hq_str_sh600151="航天机电,7.08,7.09,6.95,7.08,6.90,6.95,6.96,4368014,30484831,2900,6.95,5700,6. ...

  6. java获取百度实时天气(无限制)

    前言 因公司需求,需要获取当前登录账号的实时天气信息,网上查找后很多都有次数限制,最后东拼西凑找到了一个可以无限制使用获取百度天气的接口. 一.获取外网IP 代码如下: public static S ...

  7. java获取上一天数据,java获取日历格式的日期数据

    需求是这样的,需要以整体的样子展示日历,比如,5 *7 或者 6* 7 的格式 我需要把日期数据获取出来,所以我通过后台的得到需要的数据,分析需要3部分数据 中间的一部分直接获取一个月的第一天和最后一 ...

  8. Java获取word表格中的数据

    前言: 有时系统中需要提取各种文件中的数据,比如做报表的系统中就常常与Excel表格数据做交互.做Excel报表数据时有选择POI实现的,但是POI功能也很单一,对于文档格式维护性差,最重要的是POI ...

  9. Java获取近七天的数据条数,及页面实现折线图(附前后端代码)

    页面效果: 页面代码: //div用来实现折线图<div class="echarts" id="look" style="width:47%; ...

最新文章

  1. 其实win10要比win7的安全性强很多
  2. 好渴望 wacom Intuos3
  3. 用PAM实现用户和主机的Samba访问控制
  4. shodan 渗透测试 漏洞挖掘 一些用法
  5. kafka 丢弃数据_20条关于Kafka集群应对高吞吐量的避坑指南
  6. Python的10大最佳功能是什么?
  7. 2022年快手磁力金牛服饰行业营销洞察报告
  8. 【Clickhouse】Clickhouse 数据字典
  9. 2019年,区块链不得不知的 9 件大事!
  10. 请教 indy 中的 tldUdpServer 如何实现对本地端口6100进行监听!
  11. 强化学习 马尔可夫决策过程(MDP)是什么
  12. java 打印制表符_开发简单的Java应用
  13. abaqus 帮助文档
  14. 【模拟试题】czy的后宫3 莫队
  15. centos7连接WiFi,并设置开机自动连接WiFi
  16. 内存泄露和LeakCanary的故事
  17. java面试题:编写java程序,随机生成n个m以内的加减法算式,形如a±b=c,其中n,m∈N+,a,b,c∈[0,m].请结合自身请款勾选作答的题目,然后在下面写出代(伪)码.
  18. 软件测试缺陷表怎样描述,作为软件测试人员,如何描述缺陷(Defect)?
  19. Linux bash 数组 for循环遍历
  20. python_flask_路由

热门文章

  1. linux学习笔记 杂记一
  2. javascript函数声明和函数表达式
  3. 2010年河北省对口升学计算机试题及答案,2011河北省对口升学计算机考试A卷
  4. 科目二考试注意事项(个人笔记)
  5. 图文并茂学习MQTT协议通信过程
  6. 项目代码风格要求(转自博客园-张子阳)
  7. 12 图形数据库是什么?
  8. 自动化测试工具该怎样选择?
  9. CAN通信----基本原理
  10. TFLOPS 数据处理速度