天気APIを機能させようとしています。しかし、C° と天気アイコンを取得するにはどうすればよいですか。他に何も?
質問する
3670 次
2 に答える
2
pip でpywapiをインストールしたら、ipython シェルを開き、何pywapi
ができるかを調べます。これは実際にあなたが望むものを与える例です:-
In [1]: import pywapi
In [2]: pywapi.
pywapi.GOOGLE_CITIES_URL pywapi.YAHOO_WEATHER_URL pywapi.get_weather_from_weather_com pywapi.urlopen
pywapi.GOOGLE_COUNTRIES_URL pywapi.getText pywapi.get_weather_from_yahoo pywapi.wind_beaufort_scale
pywapi.NOAA_WEATHER_URL pywapi.get_cities_from_google pywapi.minidom pywapi.wind_direction
pywapi.URLError pywapi.get_countries_from_google pywapi.quote pywapi.xml_get_attrs
pywapi.WEATHER_COM_URL pywapi.get_everything_from_yahoo pywapi.re pywapi.xml_get_ns_yahoo_tag
pywapi.YAHOO_WEATHER_NS pywapi.get_weather_from_noaa pywapi.sys pywapi.yield_all_country_city_codes_yahoo
In [2]: pywapi.get_weather_from_yahoo?
Type: function
String Form:<function get_weather_from_yahoo at 0x10daeb9b0>
File: /Users/calvin/.virtualenvs/myweather/lib/python2.7/site-packages/pywapi.py
Definition: pywapi.get_weather_from_yahoo(location_id, units='metric')
Docstring:
Fetches weather report from Yahoo! Weather
Parameters:
location_id: A five digit US zip code or location ID. To find your location ID,
browse or search for your city from the Yahoo! Weather home page (http://weather.yahoo.com/)
The weather ID is in the URL for the forecast page for that city. You can also get
the location ID by entering your zip code on the home page. For example, if you
search for Los Angeles on the Weather home page, the forecast page for that city
is http://weather.yahoo.com/forecast/USCA0638.html. The location ID is USCA0638.
units: type of units. 'metric' for metric and '' for non-metric
Note that choosing metric units changes all the weather units to metric,
for example, wind speed will be reported as kilometers per hour and
barometric pressure as millibars.
Returns:
weather_data: a dictionary of weather data that exists in XML feed.
See http://developer.yahoo.com/weather/#channel
In [3]: pywapi.get_weather_from_yahoo('USCA0638')
Out[3]:
{'astronomy': {'sunrise': u'6:16 am', 'sunset': u'7:28 pm'},
'atmosphere': {'humidity': u'67',
'pressure': u'1013.7',
'rising': u'1',
'visibility': u'16.09'},
'condition': {'code': u'33',
'date': u'Sat, 20 Apr 2013 9:46 pm PDT',
'temp': u'18',
'text': u'Fair',
'title': u'Conditions for Los Angeles, CA at 9:46 pm PDT'},
'forecasts': [{'code': u'31',
'date': u'20 Apr 2013',
'day': u'Sat',
'high': u'26',
'low': u'15',
'text': u'Clear'},
{'code': u'32',
'date': u'21 Apr 2013',
'day': u'Sun',
'high': u'26',
'low': u'14',
'text': u'Sunny'},
{'code': u'34',
'date': u'22 Apr 2013',
'day': u'Mon',
'high': u'22',
'low': u'13',
'text': u'Mostly Sunny'},
{'code': u'30',
'date': u'23 Apr 2013',
'day': u'Tue',
'high': u'21',
'low': u'14',
'text': u'Partly Cloudy'},
{'code': u'30',
'date': u'24 Apr 2013',
'day': u'Wed',
'high': u'19',
'low': u'13',
'text': u'Partly Cloudy'}],
'geo': {'lat': u'34.05', 'long': u'-118.23'},
'html_description': u'\n[![][5]][5]<br />\n<b>Current Conditions:</b><br />\nFair, 18 C<BR />\n<BR /><b>Forecast:</b><BR />\nSat - Clear. High: 26 Low: 15<br />\nSun - Sunny. High: 26 Low: 14<br />\nMon - Mostly Sunny. High: 22 Low: 13<br />\nTue - Partly Cloudy. High: 21 Low: 14<br />\nWed - Partly Cloudy. High: 19 Low: 13<br />\n<br />\n<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/>\n(provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/>\n',
'link': u'http://us.rd.yahoo.com/dailynews/rss/weather/Los_Angeles__CA/*http://weather.yahoo.com/forecast/USCA0638_c.html',
'location': {'city': u'Los Angeles', 'country': u'US', 'region': u'CA'},
'title': u'Yahoo! Weather - Los Angeles, CA',
'units': {'distance': u'km',
'pressure': u'mb',
'speed': u'km/h',
'temperature': u'C'},
'wind': {'chill': u'18', 'direction': u'0', 'speed': u'0'}}
結果からわかるように、html_description
( http://l.yimg.com/a/i/us/we/52/33.gif ) とtemp
. 返される結果がすべてなので、python 辞書の場合と同じように抽出/アクセスする必要があります。
アップデート
- http://weather.yahoo.com/にアクセスして、郵便番号 (または都市) を入力します。
- 複数の選択肢がある場合は、必要なものを選択してください。
- [6-10 日] 列の下にある [拡張予測] リンクを見つけます。クリックして。
- URL アドレス バーとそこにある数字を見て、あなたの都市の郵便番号を確認してください。
すべての都市コード
すべての国、都市コードを取得するのに役立つ関数は次のとおりです
In [4]: pywapi.yield_all_country_city_codes_yahoo?
Type: function
String Form:<function yield_all_country_city_codes_yahoo at 0x10daebaa0>
File: /Users/calvin/.virtualenvs/myweather/lib/python2.7/site-packages/pywapi.py
Definition: pywapi.yield_all_country_city_codes_yahoo(country_code, cities)
Docstring:
Yield all cities codes for a specific country.
Parameters:
country_code: A four letter code of the necessary country. For example 'GMXX' or 'FRXX'.
cities: The number of cities to yield
Returns:
country_city_codes: A generator containing the city codes
于 2013-04-21T05:42:09.493 に答える