精华内容
下载资源
问答
  • 2020-11-23 14:35:27

    #encoding:utf-8

    import requests

    import psycopg2

    import datetime

    import re

    from bs4 import BeautifulSoup

    from apscheduler.schedulers.background import BackgroundScheduler

    #获取最近七天天气预报方法

    def weatherPrediction():

    cityid = "57494"

    urls = ["https://tianqi.2345.com/today-"+cityid+".htm",

    "https://tianqi.2345.com/tomorrow-"+cityid+".htm",

    "https://tianqi.2345.com/third-"+cityid+".htm",

    "https://tianqi.2345.com/fourth-"+cityid+".htm",

    "https://tianqi.2345.com/fifth-"+cityid+".htm",

    "https://tianqi.2345.com/sixth-"+cityid+".htm",

    "https://tianqi.2345.com/seventh-"+cityid+".htm"]

    for url in urls:

    response = requests.get(url)

    soup = BeautifulSoup(response.text, 'html.parser')

    nowDate = datetime.datetime.now() # 当前日期

    weatherDate = ''

    if "today" in url:

    weatherDate = nowDate.strftime('%Y-%m-%d')

    elif "tomorrow" in url:

    weatherDate = (nowDate + datetime.timedelta(days=1)).strftime('%Y-%m-%d') # 明天

    elif "third" in url:

    weatherDate = (nowDate + datetime.timedelta(days=2)).strftime('%Y-%m-%d') # 第三天

    elif "fourth" in url:

    weatherDate = (nowDate + datetime.timedelta(days=3)).strftime('%Y-%m-%d') # 第四天

    elif "fifth" in url:

    weatherDate = (nowDate + datetime.timedelta(days=4)).strftime('%Y-%m-%d') # 第五天

    elif "sixth" in url:

    weatherDate = (nowDate + datetime.timedelta(days=5)).strftime('%Y-%m-%d') # 第六天

    elif "seventh" in url:

    weatherDate = (nowDate + datetime.timedelta(days=6)).strftime('%Y-%m-%d') # 第七天

    # -----------------------------------------天气预报基本信息开始-----------------------------------------

    tianqi_list = soup.find_all("span", class_="phrase")

    day_tianqi = tianqi_list[0].getText()

    night_tianqi = tianqi_list[1].getText() # 天气状况

    tianqi = ''

    if day_tianqi == night_tianqi:

    tianqi = day_tianqi

    else:

    tianqi = day_tianqi + "~" + night_tianqi

    temp_list = soup.find_all("span", class_="temperature")

    day_temp = temp_list[0].getText()

    night_temp = temp_list[1].getText()

    max_temp = re.findall("\d+", day_temp)[0] # 最高温

    min_temp = re.findall("\d+", night_temp)[0] # 最低温

    # print(weatherDate +" 天气:" + tianqi +"," + " 最高温:" + max_temp + " , " + "最低温:"+min_temp)

    # -----------------------------------------天气预报基本信息结束-----------------------------------------

    # -----------------------------------------天气预报额外信息开始-----------------------------------------

    other_list = soup.find_all("ul", class_="parameter")[0].contents

    for other in other_list:

    print(other.b.getText() + " : " + other.i.getText())

    # -----------------------------------------天气预报额外信息结束-----------------------------------------

    # -----------------------------------------每天定时更新天气预报信息-----------------------------------------

    scherduler = BackgroundScheduler()

    scherduler.add_job(weatherPrediction,'interval',minutes=2)

    scherduler.start()

    # ----------------------------------------爬虫获取失败的提醒机制,短信/邮件,以及切换api获取天气预报信息-----------------------------------------

    更多相关内容
  • 主要介绍了java调用中国天气网api获得天气预报信息的方法,可实现调用温度、风力风向及近期天气状况等功能,具有一定参考借鉴价值,需要的朋友可以参考下
  • 通过调用天气预报接口来获得天气数据,用LIstView和GridView来搭建每个界面,将查询的天气信息存储在SQLiteDatabase中。应用主要包括了五大界面,每一个界面上都会有很多组件: - 首页面:有各种组件装饰,显示天气...
  • 获得天气预报信息

    2011-10-10 15:07:23
    这是一个能获得实时天气的小程序,并显示在控制台界面上。使用VC6.0开发。
  • java调用中国天气网api获得天气预报信息的方法本文实例讲述了java调用中国天气网api获得天气预报信息的方法。分享给大家供大家参考。具体实现方法如下://以冰城哈尔滨为例通过中国天气api调用天气信息private ...

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

    本文实例讲述了java调用中国天气网api获得天气预报信息的方法。分享给大家供大家参考。具体实现方法如下:

    //以冰城哈尔滨为例通过中国天气api调用天气信息

    private String getWeatherInfo2(){

    StringBuilder info = new StringBuilder();

    try {

    DefaultHttpClient httpclient = new DefaultHttpClient();

    HttpGet httget = new HttpGet("http://m.weather.com.cn/data/101050101.html");

    ResponseHandler responseHandler = new BasicResponseHandler();

    String responseBody = httpclient.execute(httget, responseHandler);

    System.out.println(responseBody);

    JsonParser jp = new JsonParser();

    JsonElement jse = jp.parse(responseBody);

    JsonObject jso = jse.getAsJsonObject().get("weatherinfo").getAsJsonObject();

    // String updTime = jso.get("fchh").getAsString();

    // if(updTime != null){

    // //温度

    // String j = jso.get("temp1").getAsString();//今天

    // String m = jso.get("temp2").getAsString();//明天

    // //天气情况

    // String j_weather = jso.get("weather1").getAsString();//今天

    // String m_weather = jso.get("weather2").getAsString();//明天

    // //风向风力

    // String j_wind = jso.get("wind1").getAsString();//今天

    // String m_wind = jso.get("wind2").getAsString();//明天

    // info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

    // info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

    // }

    String updTime = jso.get("fchh").getAsString();

    if(updTime != null){

    if(!updTime.trim().equals("18")){

    //温度

    String j = jso.get("temp1").getAsString();//今天

    String m = jso.get("temp2").getAsString();//明天

    //天气情况

    String j_weather = jso.get("weather1").getAsString();//今天

    String m_weather = jso.get("weather2").getAsString();//明天

    //风向风力

    String j_wind = jso.get("wind1").getAsString();//今天

    String m_wind = jso.get("wind2").getAsString();//明天

    info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

    info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

    }else{

    //18

    //温度

    String temp1 = jso.get("temp1").getAsString();//今天

    String temp2 = jso.get("temp2").getAsString();//今天

    String temp3 = jso.get("temp3").getAsString();//今天

    String j = temp1.split("~")[1] + "~" + temp2.split("~")[0];

    String m = temp2.split("~")[1] + "~" + temp3.split("~")[0];//明天

    //天气情况

    String weather1 = jso.get("weather1").getAsString();

    String weather2 = jso.get("weather2").getAsString();

    String weather3 = jso.get("weather3").getAsString();

    String j_weather = "";

    String j_weather_part1 = "";

    String j_weather_part2 = "";

    //判断是否有转

    if(weather1.indexOf("转") > 0){

    //有

    j_weather_part1 = weather1.split("转")[1];

    }else{

    j_weather_part1 = weather1;

    }

    if(weather2.indexOf("转") > 0){

    //有

    j_weather_part2 = weather2.split("转")[0];

    }else{

    j_weather_part2 = weather2;

    }

    if(j_weather_part1.equalsIgnoreCase(j_weather_part2)){

    j_weather = j_weather_part1;//今天

    }else{

    j_weather = j_weather_part1 + "转" + j_weather_part2;//今天

    }

    String m_weather = "";

    String m_weather_part1 = "";

    String m_weather_part2 = "";

    //判断是否有转

    if(weather2.indexOf("转") > 0){

    //有

    m_weather_part1 = weather2.split("转")[1];

    }else{

    m_weather_part1 = weather2;

    }

    if(weather3.indexOf("转") > 0){

    //有

    m_weather_part2 = weather3.split("转")[0];

    }else{

    m_weather_part2 = weather3;

    }

    if(m_weather_part1.equalsIgnoreCase(m_weather_part2)){

    m_weather = m_weather_part1;//今天

    }else{

    m_weather = m_weather_part1 + "转" + m_weather_part2;//明天

    }

    //风向风力

    String j_wind = jso.get("wind2").getAsString();//今天

    String m_wind = jso.get("wind3").getAsString();//明天

    info.append("今天:").append(j).append(" ").append(j_weather).append(" ").append(j_wind).append("\n");

    info.append("明天:").append(m).append(" ").append(m_weather).append(" ").append(m_wind).append("\n");

    }

    }

    } catch (Exception e) {

    }

    return info.toString();

    }

    希望本文所述对大家的java程序设计有所帮助。相关阅读:

    html发送邮件通过Mailto简单实现

    Win10 Mobile预览版10240模拟器上手演示视频

    javascript使用appendChild追加节点实例

    通过HTML5 Canvas API绘制弧线和圆形的教程

    C++设计模式之中介者模式

    php使用数组填充下拉列表框的方法

    javascript数据结构与算法之检索算法

    TextVie获取显示字符串的宽度之Android开发

    Win10并非完全免费升级 企业版本仍需收费

    2013年优秀jQuery插件整理小结

    Win10系统为电源选项添加休眠的方法

    CSS在固定宽高的div内实现垂直居中的实例详解

    php使用explode()函数将字符串拆分成数组的方法

    win10任务栏cortana选项怎么设置显示搜索框

    展开全文
  • 本文详细介绍关于ASP.NET的实时天气及24小时天气预报 修改其中的url获得其他城市的天气情况的文章专题。 ASP.NET的实时天气及24小时天气预报(C#) 修改其中的url获得其他城市的天气情况 如广州为: ...
  • 根据WebService服务获得天气预报信息
  • 本设计使用Android设计技术开发了一种运用在Android系统上的手机天气预报软件系统,本系统通过选择城市来获得天气,风向,风向,温度等信息。基于手机的天气预报系统软件可以使用户对于各地的天气情况的实时掌握,极...
  • 获取天气预报信息

    2015-01-05 18:51:21
    获取天气预报信息,只适合初学者,有一定基础的同学不要下载此源代码
  • 查询天气预报在APP中常用的一个常用功能,本文实例讲述了java调用中国天气网api获得天气预报信息的方法。分享给大家供大家参考。
  • 它在生产模式下正确捆绑了React,并优化了构建以获得最佳性能。 最小化构建,文件名包含哈希。 您的应用已准备好进行部署! 有关更多信息,请参见有关的部分。 npm run eject 注意:这是单向操作。 eject ,您将...
  • mui+echart+天气预报

    2017-10-04 17:13:05
    跨域得到天气预报信息,然后利用 mui+echart+天气预报
  • 这个天气预报应用是从新浪天气服务器里获得的天气情况.定位功能是网络定位.没有用到GPS.代码相对简单,对于初学者还是不错的.
  • 为了方便人们用智能手机查看天气预报信息,在Android平台下设计并实现了天气预报客户端的开发,主要包括获取到地理位置的经纬度转换城市、天气预报JSON文档的获取与解析、天气预报信息在Android 平台上的呈现等技术...
  • 爬虫简单说来包括两个步骤:获得网页文本、过滤得到数据。 1、获得html文本。 python在获取html方面十分方便,寥寥数行代码就可以实现我们需要的功能。 复制代码 代码如下: def getHtml(url): page = urllib.urlopen...
  • 摘要:Java源码,Android源码,天气预报 一个android手机城市适时天气预报程序的源码,可显示当前的实时天气信息,包括风向、风力、温度、建议等,还可显示后四天的天气信息,设置实时天气信息的对象,得到最后一个...
  • 由于网站自身功能的需要就开始查询天气预报的相关资料,在百度搜索框中输入 java web 天气预报貌似没有结果,于是就搜索视频进行学习,但是搜索的视频都是牛头不对马尾的。于是就到百度贴吧里面提问,吧友给说是用...

    由于网站自身功能的需要就开始查询天气预报的相关资料,

    在百度搜索框中输入   java web  天气预报

    貌似没有结果,于是就搜索视频进行学习,但是搜索的视频都是牛头不对马尾的。

    于是就到百度贴吧里面提问,吧友给说是用web service 进行调用,

    但是弄了半天还是不懂,所以就到开源中国讨论区进行提问,

    提问没有一会儿,一个朋友给我留言说是用不了这么麻烦,直接到心知天气这个网站就行了,

    也没有给我说什么具体的操作的步骤,就是给了我一个网址,我就点击了一下这个网址,一看,有三个超级大的按钮,

    我就选择了API的那个,但是研究了半天貌似好像要钱,就回复了那个朋友,说是要收费,在等待的同时继续在这个网站里面游荡着,突然我点击到了获取插件的那个按钮上面,然后就看到一个十分清晰的获取流程,马上就能明白是什么意思,所以就选择并且设置完自己想要的那个天气预报的样式,复制代码,粘贴到自己网页中需要用到的地方发,反复调整了一下,感觉挺好的,就用了。

    感觉这个插件超级的好用,而且使用的时候非常的简单,没有什么其他的获取接口什么的代码,只是通过界面的形式设置天气预报的样式,

    然后直接获取一个iframe的代码就成功了!

    通过这个学习的过程,让我知道了在贴吧,或者是在开源中国中提问能更快的获得学习的方法,效率也是比较高的。

    自己搜索往往效率不怎么高,通过其他人的指点,自己能更好的找到答案。

    心知天气

    然后点击获取网页插件,然后获取iframe代码,粘贴到html页面中合适的位置即可。

    0818b9ca8b590ca3270a3433284dd417.png

    展开全文
  • 安卓天气预报

    2017-11-09 09:55:26
    能够实现按照点击地区查询天气信息。但是时间久了接口有可能会过期。其中获得未来天气类有一些小的bug。
  • 全国天气预报信息 API 接口

    千次阅读 2021-03-09 11:12:16
    全国天气预报信息 API 接口 精确到行政区的7日天气预报。 1. 产品功能 全国天气预报每隔 6 小时更新数据; 精确到行政区级别的天气预报数据; 提供最长 7 天的天气预报数据; 提供每日小时级别的天气预报数据; ...

    全国天气预报信息 API 接口

    精确到行政区的7日天气预报。

    gugudata_api_cover

    1. 产品功能

    • 全国天气预报每隔 6 小时更新数据;
    • 精确到行政区级别的天气预报数据;
    • 提供最长 7 天的天气预报数据;
    • 提供每日小时级别的天气预报数据;
    • 提供本地日出日落、当日历史温度等附加数据;
    • 提供紫外线、穿衣、洗车、空气污染等额外指导数据;
    • 全接口支持 HTTPS(TLS v1.0 / v1.1 / v1.2 / v1.3);
    • 全面兼容 Apple ATS;
    • 全国多节点 CDN 部署;
    • 接口极速响应,多台服务器构建 API 接口负载均衡。

    2. API 文档

    API 详情地址: https://www.gugudata.com/api/details/weatherinfo

    接口请求地址: https://api.gugudata.com/weather/weatherinfo

    返回格式: application/json; charset=utf-8

    请求方式: GET

    请求协议: HTTPS

    请求示例: https://api.gugudata.com/weather/weatherinfo?appkey=YOUR_APPKEY&code=YOUR_VALUE&days=1

    接口测试: https://api.gugudata.com/weather/weatherinfo/demo

    前置接口

    前置接口说明: 查询地区编码,根据市或区的关键字进行查询,如北京、苏州、海淀、吴中等

    前置接口地址: https://api.gugudata.com/weather/weatherinfo/region?appkey=APPKEY&keyword=查询编码的市或区关键字,如北京、海淀

    前置接口参数说明: appkey=YOUR_APPKEY&keyword=查询编码的市或区关键字,如北京、海淀

    前置接口返回格式: application/json; charset=utf-8

    前置接口返回说明: 包含地区编码以及省、市、区相关信息

    前置接口请求方式: GET

    前置接口请求协议: HTTPS

    3. 请求参数(如果为 POST 请求,那么参数以 JSON 的格式传递)

    参数名参数类型是否必须默认值备注
    appkeystringYOUR_APPKEY付费后获取的 APPKEY
    codestringYOUR_VALUE获取天气预报信息的地区编码,可通过前置接口查询获得
    daysint1获取天气预报的天数,默认为1,即为当天数据。最大值为7。

    4. 返回参数

    参数名参数类型备注
    DataStatus.StatusCodeint接口返回状态码
    DataStatus.StatusDescriptionstring接口返回状态说明
    DataStatus.ResponseDateTimestring接口数据返回时间
    DataStatus.DataTotalCountint此条件下的总数据量
    Data.Codestring地区编码
    Data.WeatherDatestring天气预报的日期
    Data.WeatherRegionobject当前天气预报的详细地区信息,数据格式与查询地区编码接口返回数据格式一致。
    Data.WeatherRegion.ReginTypestring位置信息类型,2为市级别数据,3为区级别数据
    Data.WeatherRegion.Codestring地区完整编码
    Data.WeatherRegion.ProvinceCodestring省编码
    Data.WeatherRegion.ProvinceNamestring省名称
    Data.WeatherRegion.CityCodestring市编码
    Data.WeatherRegion.CityNamestring市名称
    Data.WeatherRegion.RegionCodestring区编码
    Data.WeatherRegion.RegionNamestring区名称
    Data.WeatherRegion.TownCodestring镇编码
    Data.WeatherRegion.TownNamestring镇名称
    Data.WeatherInfostring天气情况
    Data.TemperatureHighint最高温度
    Data.TemperatureLowint最低温度
    Data.TodayHistoryHighestTemperatureint当日历史最高温度
    Data.TodayHistoryLowestTemperatureint当日历史最低温度
    Data.WeatherWindCondition1string风向1
    Data.WeatherWindCondition2string风向2
    Data.WeatherWindLevelstring风级
    Data.SunRiseTimestring日出时间
    Data.SunSetTimestring日落时间
    Data.WeatherPerHourarray当日小时级别的天气预报数据数组
    Data.WeatherPerHour.WeatherTimestring预报的小时时间,24小时制
    Data.WeatherPerHour.WeatherInfostring天气情况
    Data.WeatherPerHour.Temperaturestring温度
    Data.WeatherPerHour.WeatherWindConditionstring风向
    Data.WeatherPerHour.WeatherWindLevelstring风级
    Data.LifeHelperUVobjectUV指数
    Data.LifeHelperWearobject穿衣指数
    Data.LifeHelperWashCarobject洗车指数
    Data.LifeHelperAirobject空气指数
    Data.LifeHelper.HelperNamestring指数名称
    Data.LifeHelper.HelperStatusstring指数状态
    Data.LifeHelper.HelperValuestring指数值。总分:紫外线5分,穿衣7分,洗车4分,空气5分
    Data.LifeHelper.HelperContentstring指数内容
    Data.WeatherDataGenerateDateTimestring天气预报内容数据生成时间

    5. 接口响应状态码

    错误码错误内容备注
    100正常返回
    101参数错误
    102请求频率受限每秒请求不能超过 100 次
    103账号欠费
    104APPKEY 错误请检查传递的 APPKEY 是否为开发者中心获取到的值
    110接口响应错误

    6. 开发语言请求示例代码

    示例代码包含的开发语言:C#, Go, Java, jQuery, Node.js, Objective-C, PHP, Python, Ruby, Swift 等,其他语言进行对应的 RESTful API 请求实现即可。

    示例代码截图

    咕咕数据,专业的数据提供商,提供专业全面的数据接口、商业数据分析,让数据成为您的生产原料。

    image-20200716141435988

    咕咕数据基于我们五年来为企业客户提供的海量数据支撑,将部分通用数据、通用功能抽象成产品级 API,大大满足了用户在产品开发过程中对基础数据的需求,同时降低了复杂功能的实现门槛与人力成本。

    除了我们已开放的分类数据与接口外,还有海量数据正在整理、清洗、整合、构建中,后期会开放更多的数据与云端功能接口供用户使用。

    目前已开放的数据接口 API

    展开全文
  • java 获得天气预报信息

    千次阅读 2015-04-26 21:46:56
    java 获得天气预报信息 最近项目中需要增加天气预报功能,网上给的资料有很多缺陷比如 1. 有些小网站提供的webservers本身就不稳定不能长期使用。 2. 还有一些网站限制访问次数。 3. 再有就是花钱买服务。 ...
  • 基于Java实现的简易天气预报,实现平台为Android Studio,模型为mvc,接口获取解析格式为xml,功能:一、选择城市(包括获得其中数据库中城市代码信息) 二、更新信息 三、更新六日信息
  • Android 天气预报

    2018-12-05 09:15:00
    基础功能: 1、 PULL解析获得天气信息。...3、 点击屏幕上方的下拉菜单会显示WeatherWebService网站所提供天气预报的所有城市名,点击任意一个城市,就会在屏幕上显示当天、昨天和明天的天气信息
  • java获取天气预报信息

    2021-03-15 15:20:41
    免费接口: ... } } 所需要的maven包如下 org.apache.httpcomponents httpclient 4.5.2 至此,就可以获取从该接口返回的JSON格式的天气信息
  • 以上我们就可以获取我们当前地区的天气预报信息和切换地区后更新天气预报信息,主要涉及到同源策略和跨域的问题,当遇到不同源的url时,我们可以通过jQuery的$.ajax方法的dataType属性设置为jsonp的形式,可以实现不...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 17,268
精华内容 6,907
关键字:

如何获得天气预报信息