`
alvinqq
  • 浏览: 185270 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java类获取天气预报信息

    博客分类:
  • java
阅读更多
网上有很多通过iframe的形式来显示其他网站上的天气预报,这样有一点不好,没有自己的风格,如果通过类来读取这些天气信息,然后我们就可以在页面上构造自己想要的效果和风格。

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.io.*;
import org.w3c.dom.*;
import javax.xml.parsers.*;

public class GetWeather {

	public String getweather(String city)
	{
		URL ur;
		try {
			ur = new URL("http://www.google.com/ig/api?hl=zh_cn&weather="+city);
			InputStream instr = ur.openStream();
			String s, str;
			BufferedReader in = new BufferedReader(new InputStreamReader(instr));
			StringBuffer sb = new StringBuffer();
			Writer out=new BufferedWriter(new OutputStreamWriter(new FileOutputStream("weather.txt"),"utf-8"));
			while ((s = in.readLine()) != null) {
					sb.append(s);
			}
			str = new String(sb);
			out.write(str);
			out.close();
			in.close();
		} catch (Exception e1) {
			e1.printStackTrace();
		}
		File f=new File("weather.txt");
		DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
		String str=null;
		try{
			DocumentBuilder builder=factory.newDocumentBuilder();
			Document doc = builder.parse(f);
			NodeList nl =(NodeList) doc.getElementsByTagName("forecast_conditions");
			NodeList n2=nl.item(0).getChildNodes();
			str=n2.item(4).getAttributes().item(0).getNodeValue()+","+n2.item(1).getAttributes().item(0).getNodeValue()+"℃-"+n2.item(2).getAttributes().item(0).getNodeValue()+"℃";
		}catch(Exception e)
		{
			e.printStackTrace();
		}
		return str;
	}
	public static void main(String [] arg)
	{
		//注意weather那写入城市的拼音转化一下就行打开之后是XML格式的然后再提取
		System.out.println(new GetWeather().getweather("zhuzhou"));//查询株洲的天气信息
	}

}


XML文件如下,这文件是从http://www.google.com/ig读取到的
<?xml version="1.0"?>
<xml_api_reply version="1">
<weather module_id="0" tab_id="0" mobile_row="0" mobile_zipped="1" row="0" section="0" >
	<forecast_information>
		<city data="Zhuzhou, Hunan"/>
		<postal_code data="zhuzhou"/>
		<latitude_e6 data=""/>
		<longitude_e6 data=""/>
		<forecast_date data="2009-10-22"/>
		<current_date_time data="2009-10-22 23:00:00 +0000"/>
		<unit_system data="SI"/>
	</forecast_information>
	<current_conditions>
		<condition data="多云"/>
		<temp_f data="72"/>
		<temp_c data="22"/>
		<humidity data="湿度: 47%"/>
		<icon data="/ig/images/weather/mostly_cloudy.gif"/>
		<wind_condition data="风向: 西、风速:2 米/秒"/>
	</current_conditions>
	<forecast_conditions>
		<day_of_week data="周四"/>
		<low data="16"/>
		<high data="24"/>
		<icon data="/ig/images/weather/mostly_sunny.gif"/>
		<condition data="以晴为主"/>
	</forecast_conditions>
	<forecast_conditions>
		<day_of_week data="周五"/>
		<low data="15"/>
		<high data="27"/>
		<icon data="/ig/images/weather/sunny.gif"/>
		<condition data="晴"/>
	</forecast_conditions>
	<forecast_conditions>
		<day_of_week data="周六"/>
		<low data="16"/>
		<high data="28"/>
		<icon data="/ig/images/weather/sunny.gif"/>
		<condition data="晴"/>
	</forecast_conditions>
	<forecast_conditions>
		<day_of_week data="周日"/>
		<low data="17"/>
		<high data="28"/>
		<icon data="/ig/images/weather/sunny.gif"/>
		<condition data="晴"/>
	</forecast_conditions>
</weather>
</xml_api_reply>

分享到:
评论

相关推荐

    获取天气预报API,免费接口,项目下载可运行,Java实现

    标题中的“获取天气预报API,免费接口,项目下载可运行,Java实现”表明这是一个关于使用Java语言开发的天气预报API项目,它提供了免费的API接口,并且已经打包为可直接运行的形式。这样的项目通常对开发者来说是很...

    java获取天气预报

    在获取天气预报的场景中,你需要知道中央气象台的公开API接口地址,然后使用HttpClient发送GET请求。请求成功后,服务器会返回一个包含天气信息的XML文档。解析XML数据,可以使用Java内置的DOM、SAX或JAXB等解析器,...

    天气预报数据获取java代码(风和天气、高德地图)

    本主题将详细介绍如何使用Java语言来获取天气预报数据,特别是通过"风和天气"以及"高德地图"这两个服务提供商。本文将深入探讨相关技术细节和步骤,以便开发者可以有效地集成到自己的项目中。 首先,我们要了解“风...

    java获取某地天气

    文件名为“Weather”的可能是一个Java类,包含了获取天气信息的逻辑和测试代码。 在实际开发中,还需要考虑到性能优化、API使用限制(如免费版本的调用次数限制)以及用户隐私(不要在没有用户许可的情况下获取其...

    java获取天气信息

    在Java编程中,获取天气信息是一项常见的任务,尤其在开发涉及地理位置、旅游或者日常生活助手类的应用时。要实现这一功能,通常需要借助于公开的天气API(应用程序接口),这些API提供JSON或XML格式的天气数据,...

    使用Java获取Google的简单天气预报,内有详细代码.

    ### 使用Java获取Google的简单天气预报 #### 概述 本文档将介绍如何使用Java语言来获取Google提供的简单天气预报信息。尽管Google官方已不再直接提供公开的天气API服务,但可以通过第三方API或其他方式间接获取到...

    Java天气应用程序 - 使用天气API获取实时天气数据并显示给用户

    - 当用户点击按钮时,调用`getUserInput`方法获取输入,然后构建API请求URL,最后通过`sendGetRequest`获取天气信息。 4. **解析JSON数据**: - 解析API响应的JSON数据后,需要提取所需的信息。这可以通过遍历...

    java获取谷歌百度天气预报

    3. **天气预报API**:谷歌和百度都提供了天气预报API,允许开发者通过特定的接口获取天气信息。这些API通常需要API密钥,用于身份验证和防止滥用。使用API时,我们需要按照文档中的指示,构造正确的请求URL,并可能...

    Java获取Google的简单天气预报

    在Java编程领域,获取外部数据是一项常见的任务,其中包括获取天气预报信息。本示例中,我们探讨的主题是如何利用Java从Google获取简单的天气预报。通过分析提供的压缩包文件,我们可以了解到一个简单的实现方案。 ...

    Java实现天气预报

    3. **Java实现天气预报**:在实现天气预报系统时,我们可能需要从提供天气数据的服务器获取XML文件,如OpenWeatherMap等。使用DOM4J,我们可以轻松地解析这些XML文件,提取出城市的温度、湿度、风速等信息。以下是一...

    Java 天气预报 & 万年历(带农历)

    开发者通过发送HTTP请求到指定的API地址,并附带必要的参数(如城市名或经纬度),来获取天气信息。返回的数据通常以JSON或XML格式提供,然后用Java的网络编程和数据解析库(如HttpURLConnection或OkHttp,以及...

    java获取yahoo天气预报代码

    对于Yahoo天气API,我们可能需要提供城市ID或地理坐标来获取相应地区的天气信息。城市ID可以在Yahoo的WOEID(Where On Earth ID)数据库中找到,而地理坐标则是经度和纬度。 在Java中,我们可以使用`java.net.URL`...

    用JAVA实现的天气预报

    首先,为了获取天气预报数据,开发者可能使用了HTTP或HTTPS协议与天气预报API进行交互。在Java中,可以使用HttpURLConnection或者Apache HttpClient库来发送HTTP请求,获取服务器返回的JSON或XML格式的天气数据。API...

    java获取中国各地天气获取demo

    以上就是通过Java获取中国各地天气信息的基本流程,结合数据库操作,可以实现一个实用的应用程序。对于初学者来说,这涉及到了网络编程、数据解析和数据库操作等多个Java核心概念,是一个很好的学习实践项目。

    Web Service 解读天气预报WSDL获取天气程序

    这类WSDL通常定义了一系列获取天气信息的方法,如获取当前天气、未来几天的预报等。这些方法的参数可能包括地理位置、日期等。在IDEA中,生成的客户端代码会包含对应的服务代理类,你可以通过实例化这个类并调用其...

    java天气预报源程序接口

    因此,开发者需要了解如何使用Java的HttpURLConnection或者HttpClient库进行网络请求,发送GET或POST请求获取天气信息。 关于源码,附带的所有原代码意味着我们可以查看和学习整个实现过程,包括如何处理网络请求、...

    java调用中国天气网api获得天气预报信息的方法

    8. 最后,注意在获取天气信息前检查更新时间(`updTime`),确保不是无效的更新时间,例如不是“18”。 总结起来,通过Java调用中国天气网API获取天气预报信息,主要涉及网络请求、HTTP客户端操作、JSON解析和数据...

    java基于高德地图实现实时查询天气功能源代码.zip

    java基于高德地图实现实时查询天气功能源代码。基于高德地图实现实时查询天气功能,api二次开发java基于高德地图实现实时查询天气功能源代码。基于高德地图实现实时查询天气功能,api二次开发java基于高德地图实现...

    java调用第三方天气预报实时API接口并解析数据【源码】

    1、封装WeatherInfo实体类,对接口返回的结果进行映射的实体类 2、WeatherUtils类,负责调用第三方天气预报api接口处理的工具类,包括根据城市查询等,返回的格式是json 3、test类,对接口进行功能性测试

    天气预报系统(java)

    这个系统允许用户输入他们感兴趣的城市名,然后系统会返回该城市的当前天气信息。这样的应用在日常生活中非常实用,帮助人们及时了解天气变化,为出行和活动安排提供便利。 描述中的“效果绝对称赞”暗示了这个系统...

Global site tag (gtag.js) - Google Analytics