加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl获取天气预报信息结合139邮箱推送到手机端

发布时间:2020-12-16 00:33:36 所属栏目:大数据 来源:网络整理
导读:? ?最近工作开始忙起来了,也不看天气预报了.直到今天下雨把我淋透了..看来,天气预报还是很重要的.所以写了个小脚本获取 www.ip138.com 接口上的天气预报.通过139邮箱发送到手机端.代码如下: #!/usr/bin/perl? use?warnings;? use?strict;? use?LWP::UserAgen

? ?最近工作开始忙起来了,也不看天气预报了.直到今天下雨把我淋透了..看来,天气预报还是很重要的.所以写了个小脚本获取 www.ip138.com 接口上的天气预报.通过139邮箱发送到手机端.代码如下:

 
 
  1. #!/usr/bin/perl?
  2. use?warnings;?
  3. use?strict;?
  4. use?LWP::UserAgent;?
  5. use?HTML::TreeBuilder;?
  6. use?Net::SMTP;?
  7. use?Net::SMTP_auth;?
  8. use?MIME::Base64;?
  9. #my?$wday=?(localtime(time()))[6];?
  10. my?$i?=?'2';?
  11. my?$j?=?'3';?
  12. my?$weather_url?=?"http://qq.ip138.com/weather/beijing/HaiDian.htm";?
  13. my?$cont?=?get_html($weather_url,"Accept-language"?=>?"zh-cn",?'Accept-Charset'?=>?'gb2312');?
  14. my?$table?=?$1?if?$cont?=~?m/<p?align="center"><table?width="700"?borderColorDark="#ffffff"?borderColorLight="#008000"?bor?
  15. der="1"?cellspacing="0"?cellpadding="1"?align="center">(.*?)</p>/s;?
  16. my?$tree?=?HTML::TreeBuilder->new();?
  17. ???$tree->parse($table);?
  18. ???$tree->eof();?
  19. #???print?$tree->dump;?
  20. my?@th?=?$tree->find_by_tag_name("th");?
  21. my?@tr?=?$tree->find_by_tag_name("td");?
  22. my?$tomorrow?=?$th[$i]->as_text()."??".?$tr[$i]->as_text()."?".$tr[$i+8]->as_text()."?".$tr[$i+16]->as_text();?
  23. my?$after_day?=?$th[$j]->as_text()."??".?$tr[$j]->as_text()."?".$tr[$j+8]->as_text()."?".$tr[$j+16]->as_text();?
  24. ???$tree->delete();?
  25. ???send_mail("$tomorrow","$after_day");?
  26. =pod?
  27. foreach?my?$row($tree->find_by_tag_name("tr")){?
  28. ????????foreach?my?$cell($row->content_list){?
  29. ????????????????print?$cell->as_text."t";?
  30. ?}?
  31. print?"n";?
  32. }?
  33. =cut?
  34. sub?get_html?{?
  35. ????????my?$url?=?shift;?
  36. ????????my?$browser=?LWP::UserAgent->new();?
  37. ???????????$browser->agent("Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;SV1;)");?
  38. ????????my?$resp?=?$browser->get($url);?
  39. ????????return?unless?$resp->is_success;?
  40. ????????return??$resp->content;?
  41. }?
  42. sub?send_mail?{?
  43. ????????my?$data1?=?shift;?
  44. ????????my?$data2?=?shift;?
  45. ????????my?$smtp_mail_host?=?'smtp.sinanet.com';?
  46. ????????my?$mail_user_from?=?'donghui@leju.sina.com.cn';?
  47. ????????my?$mail_user_to?=?'yisildeai@139.com';?
  48. ????????my?$mail_user_pass?=?"P@ssW0rd";?
  49. ????????my?$mail_hello?=?'mail.sinanet.com';?
  50. ????????my?$smtp?=?Net::SMTP->new(?
  51. ????????????????Host?=>?"$smtp_mail_host",?
  52. ????????????????Hello?=>?"$mail_hello",?
  53. ????????????????timeout?=>?40,?
  54. ????????????????Debug?=>?1,)or?die?"can?not?connect?mail?server!n";?
  55. ????????$smtp->auth("$mail_user_from","$mail_user_pass")or?die?"auth?faild!n";?
  56. ????????$smtp->mail("$mail_user_from");?
  57. ????????$smtp->to("$mail_user_to");?
  58. ????????$smtp->data();?
  59. ????????$smtp->datasend("From:?donghui?<donghui@leju.sina.com.cn>n");?
  60. ????????$smtp->datasend("To:?<donghui@.leju.sina.com.cn>n");?
  61. ????????$smtp->datasend("Subject:?<天气预报>n");?
  62. ????????$smtp->datasend("Content-Type:?text/plain;charset="gb2312"n");?
  63. ????????$smtp->datasend("Content-Transfer-Encoding:?base64n");?
  64. ????????$smtp->datasend(encode_base64("Dear: n"));?
  65. ????????$smtp->datasend(encode_base64("?$data1n $data2n"));?
  66. ?????#??$smtp->datasend(encode_base64("?The?day?after?torrow:?$data2n"));?
  67. ????????$smtp->datasend(encode_base64("------------n"));?
  68. ????????$smtp->datasend(encode_base64("Evil'??^_^"));?
  69. ????????$smtp->datasend("nn");?
  70. ????????$smtp->dataend();?
  71. ????????$smtp->quit();???
  72. }?

效果如下:

当然了,你的手机也会定时收到.不过前提你的SIM卡类型为China_mobile.

再定义一个crond任务 每天晚上8点定时发送.

00 20 */1 * * /usr/bin/perl /usr/local/share/info/get_weather.pl

#service crond restart

#chkconfig crond on

大功告成..起码每个月省了两块钱的天气预报短信.呵呵....

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读