【问题标题】:Yahoo weather api is it only for United State's cities!??雅虎天气api仅适用于美国城市!??
【发布时间】:2011-11-03 02:17:06
【问题描述】:

我能够找到美国城市的天气报告,我想将它扩展到印度的城市。如果我能为世界上所有的城市都这样做,那就更好了。这是我使用的代码。

import pywapi
import string

yahoo_result = pywapi.get_weather_from_yahoo('RSXX0199', 'metric')

print "Yahoo says: It is " + string.lower(yahoo_result['condition']['text']) + " and " + yahoo_result['condition']['temp'] + "C now in New York.\n\n"`

我找不到印度各州、城市代码的代码,我可以将其替换为 RSXX0199。顺便说一句,我正在使用 Python API for weather,它在内部使用 Yahoo 的天气 API。

请帮帮我。

谢谢。

【问题讨论】:

    标签: python yahoo-api weather-api


    【解决方案1】:

    如果您查看某个位置的 RSS 提要,您要查找的标识符就在它的地址中。

    例如,Karimnagar, India 的 RSS 提要是“weather.yahooapis.com/forecastrss?p=INXX0358&u=f”,可以通过点击右上角的 RSS 按钮进行检索.

    【讨论】:

    • 感谢它的工作:) 但我仍然无法找出如何获取 P 的值?我无法弄清楚如何获取 p 的值。请分享一些包含所有城市代码的链接。
    • 我只能通过单击该 rss 链接找到城市的代码,检查每个城市的代码并更新它并不可靠,您能否建议更好的解决方案来找到 p 的值,通过给出只是位置名称!?
    • 那么,您想要一种通过python API 提供城市并获取代码的方法吗?
    • 如果你还没有写完所有的处理代码,你可以简单地使用pywapi.get_weather_from_google,它可以包含城市和国家。我看不到使用 API 获取基于城市/国家/地区的代码的方法。
    • 我实际上也尝试了谷歌的天气 api,它也只使用美国邮政编码,只有 5 位数。它不采用印度的邮政编码:(
    【解决方案2】:

    不,我使用他们的 api 构建了一个用于中国天气变化警报的应用程序。

    Yahoo Weather api 使用 yahoo wdid(一个代码代表一个城市)来请求天气状况。

    所以首先你应该得到城市的 wdid。

    【讨论】:

      【解决方案3】:

      您可以将 Yahoo Weather API 用于http://weather.yahoo.com/ 中列出的世界任何城市

      如何知道城市的标识符?

      1. 搜索你正在寻找的城市(在我的例子中:http://weather.yahoo.com/venezuela/anzoategui/lecheria-420107/

      2. 查看该页面的源代码(在谷歌浏览器中:右键单击 --> 查看页面源代码。抱歉,我想具体一点)。

      3. 在代码中,搜索:“weather.com/weather/extended”

      4. 城市的标识符是该链接旁边的值,在我的例子中是:VEXX0025

      希望这个提示可以帮助任何人!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-09-03
        • 2012-08-16
        • 1970-01-01
        • 2013-07-06
        • 2016-10-22
        • 1970-01-01
        • 1970-01-01
        • 2011-11-15
        相关资源
        最近更新 更多