python3.7通过itchat方式登录微信给好友发送天气信息

在Windows 7环境下,使用Python3.7,通过安装itchat、requests和Schedule库,实现自动登录微信并定时发送城市天气信息。首先,配置citys.yml文件,存储城市名和对应的code。然后,根据用户输入的城市名查找code,结合天气API接口,爬取并发送对应城市的天气详情。
摘要由CSDN通过智能技术生成

环境:win7,python3.7
安装好 ichat,requests,yaml,Schedule(定时功能使用)
准备一份全国地区的code;参照图一:citys.yml
需先了解全国天气相关接口API:
思路:想通过输入一个城市名就可以打印出相关天气信息;
由于yml配置文件只有城市名:城市代码code
通过城市名去获取code,在把code 引用到URL路径上进行对每个城市的天气信息进行爬取

#!/usr/bin/env python
# -*- coding: utf-8 -*-
from threading import Timer
from itchat.content import *
import requests
import itchat
import yaml

#调用城市名,返回对应的城市code,通过yaml模块对yml配置文件进行解析
def getCityArea(cityName):
	with open("citys.yml",'r',encoding = "utf-8") as f:
		city_cfg = f.read() #返回的是一大串字符串
		city_dic = yaml.load(city_cfg) #需要再次转换成字典格式
		#print(city_cfg)
		#print(city_dic)
		f.close() # 关闭文件操作
		#获取城市对应的CodeID
		city_ID = city_dic['city'][cityName]
		#print(city_ID)
		return city_ID  #返回ID

#获取每日更新天气
def getWeather(cityID):
	#打开全国天气API
	url = r"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值