Python也可以很暖男之每日发送爱词霸每日一句中英文+日期+农历+天气预报+各种天气指数(只学了一个多月新手的第二个实战项目,代码写的不好,请轻喷,谢谢,有很多网友问为何用不了,因为中国天气网改了代码,需要改变正则表达式)
Python也可以很暖男
事情来由:老婆每天早上起来就要问今天温度如何,天气咋样,适合穿什么样的衣服。天天问得扛不住了,所以就想把天气信息+什么紫外线指数,空气指数,穿衣指数,洗车指数等在起床之前发给她,就可以自己看了。顺带再来一句爱词霸的每日一句(最终结果:太傻太天真,发是发了,可依旧要问。T_T,欲哭无泪)
为了造福各钢铁直男, 现已经封装成EXE可执行程序,想要的可以直接留言发邮箱。输入你的称呼,所在城市(最好大城市),对方的微信昵称。微信扫一扫弹出的二维码,后续就交给程序了,效果如下。(当然,单身狗也可以自己发给自己)
总体思路
实现的功能是爬取中国天气网,爱词霸每日一句,结合日期各种天气指数,通过微信发送。主要有六个功能函数和一个主函数:
- 获取当天日期和农历 :datetime模块+sxtwl模块
- 获取爱词霸每日一句:网上有很多现成例子,爱词霸有API,用JSON模块,需要用户输入称呼,以便打印出来
- 获取中国天气网城市对应的代码:靠爬取中国天气网的数据,把城市和对应的代码结合成字典,RE模块+REQUESTS模块,需要用户输入城市
- 获取城市代码对应的天气网址:每个城市的网址后缀9位数的代码
- 获取对应的天气情况:爬取对应的天气情况以及各种天气指数,需要调用称呼,以便打印出来
- 微信自动发送:通过ITCHAT库调用微信个人API入口,发送给指定的人;需要用户输入对方**(微信昵称)**
- 主函数:各种调用
函数一、获取当天日期和农历
有现成的sxtwl模块,我只是numCn中的把“零”改成了“天”
import json,re,datetime
import requests,itchat,sxtwl
def getYMD():#获得对应的农历
ymc = [u"十一", u"十二", u"正", u"二", u"三", u"四", u"五", u"六", u"七", u"八", u"九", u"十"]
rmc = [u"初一", u"初二", u"初三", u"初四", u"初五", u"初六", u"初七", u"初八", u"初九", u"初十",
u"十一", u"十二", u"十三", u"十四", u"十五", u"十六", u"十七", u"十八", u"十九",
u"二十", u"廿一", u"廿二", u"廿三", u"廿四", u"廿五", u"廿六", u"廿七", u"廿八", u"廿九", u"三十", u"卅一"]
Gan = ["甲", "乙", "丙", "丁", "戊", "己", "庚", "辛", "壬", "癸"]
Zhi = ["子", "丑", "寅", "卯", "辰", "巳",