Liangchao's blog
一个技术商人的笔记
github
|
email
Toggle navigation
Liangchao's blog
主页
归档
关于我
津ICP备17001227号
技术-python101-d9
2018-08-13 21:47:45
274
0
0
liangchaob@163.com
# 摘要 本文旨在最快学会使用python,第九天 # 微信机器人 相关文档`https://wxpy.readthedocs.io/zh/latest/` 对应项目`https://github.com/youfou/wxpy` ``` #!/usr/bin/env python # encoding: utf-8 ''' * liangchaob@163.com * 2018,7 ''' #设置中文字符 import sys reload(sys) sys.setdefaultencoding("utf-8") from wxpy import * import requests import json # 获取二维码 bot = Bot(cache_path=False,console_qr=False,qr_path="test.png") # 全部好友 friends = bot.friends() # 统计数量 sum_result = friends.stats() # 男性数量 man_count = sum_result['sex'][1] # 女性数量 women_count = sum_result['sex'][2] # 未知数量 non_count = sum_result['sex'][0] # 设置地区列表 friend_loc = [] # 最终结果列表 final_locsum = {} # 遍历全部地区字典 for province, count in sum_result["province"].iteritems(): if province!="": friend_loc.append([province, count]) # 对人数倒序排序 friend_loc.sort(key=lambda x: x[1], reverse=True) # 打印人数最多的10个地区,其余设置为其他 for item in friend_loc[:10]: final_locsum[item[0]] = item[1] # 其余 else_num = 0 for item in friend_loc[11:]: else_num += item[1] final_locsum['其他']= else_num print '你目前共有 %s 个好友,其中男性 %s 人,女性 %s 人'%(man_count+women_count+non_count,man_count,women_count) print '地区分布如下:' for k,v in final_locsum.items(): print k,v ``` # 任务 ## 微信机器人任务 - 把你所有好友的头像保存下来统一放到一个文件夹中,以`名字.jpg`来命名头像. - 设置机器人自动回复机制如下 ``` 对于文本消息 当有人发来的消息中带有'?'时候 如果同时含有'你',自动自动回复'不告诉你' 否则自动回复'我不知道诶' 当有人发来的消息中带有'!'时候 如果同时含有'你',自动自动回复'嘿嘿' 否则自动回复'哇!' 当有人发来的消息中带有'我爱你'时候 自动自动回复'恩恩,我也爱你!' 当有人发来的消息中含有'没有然后了','什么然后',自动回复'哦哦,没什么' 其他情况则一律自动回复 --> '恩,然后呢?' 对于图片消息,自动回复'哈哈!' 对于定位消息,自动回复'你居然在那!' 对于分享链接消息,自动回复'不要成天转发这些鸡汤!' 如果收到的消息在晚上0:00~5:00,自动回复'大半夜的,不要骚扰我' 如果被群消息 @ 了,自动回复'我很低调,请不要@我' 以上所有消息接收都要延时4s再进行回复 # 提示,注意接收的字符可能不是英文字符,需要特别的处理 # time.sleep(4) -延时4s, 需要调用 time 库 # embed() 似乎可以让程序一直自动运行 # 可以试图优化它,让它变得更加智能 ``` - 尝试申请图灵机器人`http://www.tuling123.com/`,使用公共api接口自动回复 ``` #!/usr/bin/env python # encoding: utf-8 ''' * liangchaob@163.com * 2018,7 ''' #设置中文字符 import sys reload(sys) sys.setdefaultencoding("utf-8") from wxpy import * import requests import json # 获取二维码 bot = Bot(cache_path=False,console_qr=False,qr_path="test.png") # 全部好友 friends = bot.friends() f1 = friends[2] @bot.register() def print_messages(msg): print(msg) if msg.type =='Text': if ("?" in msg.text) or ("?" in msg.text): if '你' in msg.text: msg.reply('不告诉你') else: msg.reply('我不知道') elif ('!' in msg.text) or ('!' in msg.text): if '你' in msg.text: msg.reply('嘿嘿') else: msg.reply('哇!') else: #:time.sleep(1) msg.reply('恩,然后呢?') elif msg.type=='Picture': msg.reply('哈哈') elif msg.type=='Map': msg.reply('你居然在那') else: #time.sleep(4) msg.reply('恩,然后呢') if msg.create_time.hour >=15 and msg.create_time.hour <=16: msg.reply('大半夜的,不要骚扰我') tuling = Tuling(api_key='cd39ad12abe2453e82b88355b2e3029b') # 使用图灵机器人自动与指定好友聊天 @bot.register() def reply_my_friend(msg): tuling.do_reply(msg) embed() ``` ## 爬虫任务 自己选择一个感兴趣的领域,做一个爬虫项目,保存爬取的数据,下次课程展示出来成果 并在爬取时候把进度条加进去,进度条代码示例如下. ``` #!/usr/bin/env python # encoding: utf-8 ''' * liangchaob@163.com * 2018,8 ''' #设置中文字符 import sys reload(sys) sys.setdefaultencoding( "utf-8" ) import time total = 50 for i in range(total): log_info = str(i).zfill(2)+'/'+str(total)+' ['+('#'*(i)).ljust(total,'-')+ ']\r' sys.stdout.write(log_info) sys.stdout.flush() time.sleep(0.1) ```
上一篇:
技术-python101-d10
下一篇:
技术-python101-d8
0
赞
274 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册