这是一个在豆瓣用户主页显示其所在城市天气的脚本,效果如下:
 |
当前天气情况,点击图标则展开明后天的预报 |
 |
两天内的气象预报,再次点击图标会还原 |
脚本安装地址:http://userscripts.org/scripts/show/33333
(初次安装豆瓣插件的可参看:豆瓣插件安装不完整指南)
看自己的主页,就当天气预报,
看其他人的主页,能知道他正体验的天气,感觉更有趣
补充说明:目前理论上只支持中国境内的城市(为了cooper,还加上了纽约..),如果你遇到某个用户,他的所在城市无法显示天气,可以在下面留言告诉我。
-----------------技术细节的分隔线---------------------
早上起来一时兴起动手写这个天气脚本,但因为是第一次写跨域调用的js代码,真是一波三折,发现必须用jsonp模式用了1/3时间...囧rz
然后从Yahoo Weather API的接口取到数据一看是rss,明明加了type=json,回去查Google,原来Yahoo不是所有的服务都有json输出。。。
幸好想到万能的Pipes,搭了一个最简pipe,然后顺利从pipes那里得到了JSON格式的天气信息。高兴的发现Pipes其实是跨域访问脚本的绝佳搭档..任何rss信息都可以经由pipes中转(还可以有过滤加工)而成能被脚本跨域访问的JSON..
然后那个长长的城市代码表是从这里找到的,所谓“补充”的那部分就是我们需要的, 但要放到代码里,还需要把
xxx1:yyy1
xxx2:yyy2
……
变成
"yyy1":"xxx1",
"yyy2":"xxx2",
……
想来想去,就是不想写代码,最后用excel和notepad++搞定了,这和想到pipes的那一刻一样有成就感:)谁知道是怎么弄吗
2008-09-08 09:53:30: 懋萱@PandaD (愚钝得淡定……)
收藏先回家裝
2008-09-08 09:56:49: 赵行德 3.0
NP果然很厉害啊小喵怎么样了
2008-09-08 10:03:18: NullPointer (你从天空走下来,踩着我的呼吸。)
@sbilly兄台能删掉重复发的么?好长...
2008-09-08 10:06:19: sbilly (豆瓣居然有签名档~)
重复了么??我都删了吧~ 我是一百个一百个这么粘贴过来的啊 应该不会重复的说…………editplus 简单的替换就能完成你要的工作
ultraedit 的宏要做到这个更是容易
;)
2008-09-08 10:08:28: NullPointer (你从天空走下来,踩着我的呼吸。)
----------------------------------------------------------2008-09-08 10:06:19 sbilly (北京)
重复了么??我都删了吧~ 我是一百个一百个这么粘贴过来的啊 应该不会重复的说…………
editplus 简单的替换就能完成你要的工作
ultraedit 的宏要做到这个更是容易
;)
----------------------------------------------------------
我就是主要用替换搞定的~ 不过两列数据的交换次序借用了excel :)
2008-09-08 10:18:56: 二果子 (阳山)
editplus可以在选择的时候按alt+c后再拖动鼠标2008-09-08 10:21:50: 青猫 (简单柔软干净快乐)
青猫:Partly Cloudy: 29℃cooper: Fair, 23℃--好天气啊 不冷不热滴
哈哈 有意思!
2008-09-08 10:24:18: 青猫 (简单柔软干净快乐)
投诉:没有呼和浩特!!2008-09-08 10:28:01: NullPointer (你从天空走下来,踩着我的呼吸。)
----------------------------------------------------------2008-09-08 10:24:18 青猫 (呼和浩特)
投诉:没有呼和浩特!!
----------------------------------------------------------
加上了~
青猫去http://userscripts.o
2008-09-08 10:33:24: 青猫 (简单柔软干净快乐)
谢谢团长!
2008-09-08 10:35:09: Leechael (此人極度不友好,勿近。)
用脚本处理一下这些数据就整理出来了。 :)不习惯载入这么多的数据,我原是计划直接中文查询(某站点的天气查询是 url + 地名)然后 iframe 插入,再截取所需部分……
2008-09-08 10:37:05: 青猫 (简单柔软干净快乐)
稍微有点慢 不是因为图片的原因吧?2008-09-08 10:43:50: NullPointer (你从天空走下来,踩着我的呼吸。)
----------------------------------------------------------2008-09-08 10:37:05 青猫 (呼和浩特)
稍微有点慢 不是因为图片的原因吧?
----------------------------------------------------------
慢是因为这些天气数据都不是豆瓣上的,是经过pipes中转访问的Yahoo Weather的数据,所以中间有时候要是慢了就只能等等..
2008-09-08 10:48:34: NullPointer (你从天空走下来,踩着我的呼吸。)
@Leechael发现你所在的肇庆和青猫所在的呼和浩特的豆瓣link都不是拼音..而是数字,
刚才手工把肇庆的代码也补上去了。。。:)
yahoo weather首页就是可以用地名查询的,不过是想写写看跨域访问的代码.....
2008-09-08 12:00:57: Specter
很奇怪查看别人的都正常,只有查看自己的不显示……2008-09-08 14:13:12: 夕照未央 (正如算法才是灵魂)
太强大了。试用一下2008-09-08 18:08:51: 卡特兰 (≯淡定?淡定!)
是完整版了吗?2008-09-08 18:10:16: 髙飛
很好很强大2008-09-08 21:09:43: v.bobo (亲爱的王菲)
必须在 Firefox下载么?2008-09-08 21:28:41: NullPointer (你从天空走下来,踩着我的呼吸。)
@v.bobo♥开会去一周对,有兴趣的话可以照这个做:http://www.douban.co
2008-09-08 21:43:29: 青猫 (简单柔软干净快乐)
才发现!!这个天气预报 在上面点一下可以看到明后天。。。Now...
Light Rain Shower: 16℃
Tomorrow...
Rain: 14℃ ~ 21℃
2 Days Later...
Rain: 8℃ ~ 19℃
2008-09-08 22:01:12: Specter
各位看自己的页面都正常吗?我惟有打开自己的页面看不到如果退出登录则看自己的页面也有显示
换了两台电脑都是这样
2008-09-08 22:05:46: Specter
发现原因所在了……我之前没有按照douban提示的上传大头像刚才试着上传了一张大点的图,终于正常了:)
2008-09-08 23:04:52: NullPointer (你从天空走下来,踩着我的呼吸。)
那为啥我之前看你的页面也正常呢?是不传大头像之前看自己的页面会页面结构不一样?
anyway,能用就好:)
2008-09-11 09:37:32: 移动☮城堡 (学习英语好榜样)
很仰慕阿 这个功能不错 可惜还没用Firefox 对新东西还是不敏感~看这次家里IT7的表现了,要是仍有问题,就改用Firefox,然后过来扫荡一下这里的豆瓣插件~
2008-09-13 20:39:59: Leechael (此人極度不友好,勿近。)
@NullPointer猜想每个用户使用的 Firefox 的版本都不同,或许一些跨域的方法并不一定有效。
2008-11-01 11:59:46: 青猫 (简单柔软干净快乐)
----------------------------------------------------------2008-09-08 10:28:01 NullPointer (北京)
----------------------------------------------------------
2008-09-08 10:24:18 青猫 (呼和浩特)
投诉:没有呼和浩特!!
----------------------------------------------------------
加上了~
青猫去http://userscripts.o
----------------------------------------------------------
哦 我又去这里安装了一遍~很用了 :)
2008-11-02 16:06:37: 已注销
怎么安装啊 具体操作步骤2008-11-02 16:11:55: NullPointer (你从天空走下来,踩着我的呼吸。)
----------------------------------------------------------2008-11-02 16:06:37 宇文 (泉州)
怎么安装啊 具体操作步骤
----------------------------------------------------------
日记里不是写了么,新手去看http://www.douban.co
> 我来回应