我正在创建一个应用程序(PHP),它从免费的RSS提要中获取雅虎天气数据,并根据从RSS提要中检索到的数据将其与颜色十六进制相关联。我遇到的问题是找到一种方法来获取位置代码或WOEID,而不需要手动操作。
只要你提供一个WOEID -> http://weather.yahooapis.com/forecastrss?w=4097,Yahoos API就会发回一个RSS feed。
有没有一种合乎道德的方式去做呢?我的初学者经验告诉我,我必须写一个脚本,用这个词搜索雅虎,然后抓取第一个WOEID,但我认为雅虎不想要脚本做这件事,而且它似乎过于复杂了……如果没有,有没有其他的API可以让我更轻松呢?
谢谢!
发布于 2009-12-01 17:56:57
为什么不直接使用Yahoo!GeoPlanet服务将一个地点解析为一个WOEID?或者使用YQL服务通过它的表访问GeoPlanet?
http://where.yahooapis.com/v1/places.q('Barrie CA')?appid=[yourappidhere]或
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.places%20where%20text%3D%22Barrie%20CA%22&format=xml不需要刮擦。
干杯
G
(披露一下,我为雅虎工作!我是WOEID和GeoPlanet背后的小组的一员)
发布于 2011-05-07 01:33:57
我从http://developer.yahoo.com/geo/geoplanet/获得了一些有用的信息:
和
http://developer.yahoo.com/geo/geoplanet/guide/api-reference.html#api-countries
查找重要地标的WOEID:http://where.yahooapis.com/v1/places.q('sydney%20opera%20house')?appid=yourappidhere
发布于 2013-07-19 21:22:20
雅虎!Geo Technologies很高兴地宣布在YQL中提供PlaceFinder支持。YQL表允许用户通过geo.placefinder查询向PlaceFinder发出请求。新表提供了几种不同的访问PlaceFinder的方法。可以使用http://query.yahooapis.com/v1/public/yql?q...&appid=test检索所支持的请求和参数的描述。这里有几个例子:
使用自由格式输入格式对街道地址(华盛顿特区宾夕法尼亚大道1600)进行地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%221600%20Pennsylvania%20Ave%2C%20Washington%2C%20DC%22&appid=test使用多行输入格式对街道地址(加利福尼亚州森尼维尔第一大道701号,邮编94089)进行地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20line1%3D%22701%20First%20Ave%22%20and%20line2%3D%22Sunnyvale%2C%20CA%2094089%22&appid=test对机场代码(SFO)进行地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22sfo%22&appid=test用法语对兴趣点(POI)进行地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%22Eiffel%20Tower%22%20and%20lang%3D%22fr%22&appid=test使用地理坐标进行反向地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20text%3D%2237.416275%2C%20-122.025092%22%20and%20gflags%3D%22R%22&appid=test使用解析的输入格式对街道地址(701 First Ave,Sunnyvale,CA 94089)进行地理编码:
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20geo.placefinder%20where%20house%3D%22701%22%20and%20street%3D%22First%20Ave%22%20and%20city%3D%22Sunnyvale%22%20and%20state%3D%22CA%22%20and%20postal%3D%2294089%22&appid=test为地址确定最近的十字路口和时区:
http://query.yahooapis.com/v1/public/yql?q=select%20line1%2C%20line2%2C%20line3%2C%20line4%2C%20cross%2C%20timezone%20from%20geo.placefinder%20where%20text%3D%22701%20First%20Ave%2C%20Sunnyvale%2C%20CA%22%20and%20flags%3D%22T%22%20and%20gflags%3D%22C%22&appid=test此示例演示了仅从响应中选择指定字段的YQL功能
https://stackoverflow.com/questions/1822650
复制相似问题