NullPointer

NullPointer的日记

豆瓣天气 1.0

2008-09-08 09:51:14
这是一个在豆瓣用户主页显示其所在城市天气的脚本,效果如下:

当前天气情况,点击图标则展开明后天的预报
当前天气情况,点击图标则展开明后天的预报
两天内的气象预报,再次点击图标会还原
两天内的气象预报,再次点击图标会还原
脚本安装地址: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.org/scripts/show/33333 再安装一下就好

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.com/group/topic/4086420/

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.org/scripts/show/33333 再安装一下就好
  ----------------------------------------------------------
  
  哦 我又去这里安装了一遍~很用了 :)

2008-11-02 16:06:37: 已注销

  怎么安装啊 具体操作步骤

2008-11-02 16:11:55: NullPointer (你从天空走下来,踩着我的呼吸。)

  ----------------------------------------------------------
  2008-11-02 16:06:37 宇文 (泉州)
   怎么安装啊 具体操作步骤
  ----------------------------------------------------------
  
  日记里不是写了么,新手去看http://www.douban.com/group/topic/4086420/