全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

IP归属甄别会员请立即修改密码
查看: 2298|回复: 1
打印 上一主题 下一主题

linux下使用飞信机器人发送天气信息

[复制链接]
跳转到指定楼层
1#
发表于 2009-10-1 01:27:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  1. 一、fetion安装
  2. 关于更多linux下fetion的安装使用,请参考网站:http://www.it-adv.net/
  3. 1、基本环境搭建
  4. #mkdir –p /usr/local/fetion
  5. #mkdir –p /usr/local/fetion/lib
  6. #cd /usr/local/fetion
  7. 下载fetion运行时所需要的库
  8. #wget http://www.it-adv.net/fetion/downng/library_linux.tar.gz
  9. 下载fetion主程序
  10. #wget http://www.it-adv.net/fetion/downng/fetion20090406003-linux.tar.gz
  11. #tar -zxvf library_linux.tar.gz -C ./lib
  12. #cp /usr/local/fetion/lib* /usr/lib
  13. #tar -zxvf fetion20090406003-linux.tar.gz
  14. 2、加入动态库
  15. 将fetion所需要的库添加到动态链接库
  16. #vim /etc/ld.so.conf
  17. 增加一行
  18. include /etc/ld.so.conf.d/*.conf

  19. #vim /etc/ld.so.conf.d/fetionlib.conf
  20. 增加一行(fetion所需要库的目录)
  21. /usr/local/fetion/lib

  22. 添加到动态链接库的缓存文件
  23. #ldconfig -v
  24. 输出中会显示这些动态库的路径及相关文件。
  25. 3、安装相关开发库依赖
  26. 如果是64位系统需要安装32位类库,fetion2009的是基于32位系统编译的。
  27. #apt-get install lib64stdc++6(lib32stdc++6)
  28. #apt-get install lib64z1(lib32z1)
  29. 注:括号里是x86系统的的开发库。
  30. 4、简单测试
  31. 进入fetion的 instll目录,执行
  32. #./fetion
  33. 显示用法就说明安装成功了。

  34. 常用指令
  35. 手机号登陆直接发送短信内容(这里显示地声明了编码)
  36. fetion --mobile=158xxxxxxxx --pwd=你的密码 --to=137xxxxxxxx --msg-utf8=测试
  37. 手机号登陆直接发送短信内容文件
  38. fetion --mobile=137xxxxxxxx --pwd=mypwd --to=137xxxxxxxx --file-utf8=/path/sms.txt
  39. 飞信号登陆
  40. fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
  41. 配置文件登陆
  42. fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-utf8=测试

  43. 发送消息中如果需要换行,请用 \n
  44. // 以下为 sample.conf 内容,文件内容中, #号为注释行
  45. # This config file is for fetion robot tool.
  46. # Usage demo: ./fetion --config=/etc/fetion.conf --index=1
  47. # ID Mobile Password
  48.   1 137xxxx 1234234
  49. 多个号码可以用”,”分割。

  50. 至此,飞信安装调试成功完毕。

  51. 二、处理天气信息
  52. 我们在取得天气信息后,如何来处理它使之成为我们最相要的信息呢。不可能把整个页面的内容发过去吧,取得的html代码会产生不知多少条短信,极大的浪费了资源,而且收到的用户也会觉得烦,所以我们必须想办法来达到最好的效果。

  53. 我们先转储这个网页文件:
  54. #wget -nv -O weather.html http://wap.weather.com.cn/wap/58367/h24/
  55. 这里取了上海24小时的天气预报信息,并转储为 weather.html文件。
  56. 好,接下来我们来分析其内容,使之刚好成为一条有用的短信:
  57. #more weather.html|grep -v "img src"|html2text|sed '/^$/d'|sed -n '2,8p'|sed 's/':'/':'/p'|sed 's/^[ ]//g'|sed '/^\[/d'|uniq
  58. 当然也可以跟据需要来自己改动,”html2text”这个包可能要另外安装。最后得到了如下一些信息:
  59. 2009年9月18日 星期五
  60. 天气:阵雨
  61. 气温:28度到22度
  62. 风向风力:微风小于3级
  63. 紫外线指数:弱
  64. 穿衣指数:热


  65. 笔者测试过,刚好一条短信,不多不少,加上农历的话就要超过了。至此天气信息处理算是成功了。

  66. 三、整合
  67. 我是强烈建议写成一脚本来执行,而不是单纯的命令调用。这里是我写的一个脚本程序,工作的很好:
  68. #!/bin/bash
  69. mobilelist="1582176xxxx,1392176xxxx"
  70. #注意,这里要用引号括起来,用逗号来分隔。
  71. #取得天气信息
  72. wget -nv -O weather.html http://wap.weather.com.cn/wap/58367/h24/
  73. weather_msg=$(more weather.html|grep -v "img src"|html2text|sed '/^$/d'|sed -n '2,8p'|sed 's/':'/':'/p'|sed 's/^[ ]//g'|sed '/^\[/d'|uniq)
  74. rm -fv weather.html

  75. #循环发送
  76. for phone in $mobilelist
  77. do
  78.   /usr/local/fetion/install/fetion --mobile='1391603xxxx' --pwd='jaxxxx6' --to=$phone --msg-utf8="$weather_msg"
  79. #echo $phone
  80. done
复制代码
2#
发表于 2009-10-1 01:31:05 | 只看该作者

回复 1# 的帖子

以前我都用Google的天气预报,现在被我删除了,觉得有点烦。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2025-12-15 01:32 , Processed in 0.119837 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表