使用wxpy创建微信群发信息程序

以下是代码


import csv
from wxpy import *
import time

def read_info():
    f = open('./wxpytest.csv','r', encoding = 'gbk')
    reader = csv.DictReader(f)
    return [info for info in reader]#[{},{},{}]

    #'xx-你好,我会给你发xx-元的大红包,时间是xx-。祝你新年快乐。'
def make_msg(raw_info):
    t = '{t}-你好,我是周宇,我会给你发{s}的大红包,时间是{a}。祝你新年快乐!'
    return [t.format(
                     t=info['称呼'],
                     s=info['红包金额'],
                     a=info['时间']
                     ) for info in raw_info]
    # -> list ['xxx','xxx']

def send(msg_list):
    bot = Bot()
    for msg in msg_list:
        fren_name = msg.split('-')[0]
        f = bot.friends().search(fren_name) # list
        if len(f) == 1:
            f[0].send(msg)
        else:
            print(fren_name)
            print('Please check this name')
    time.sleep(10)

# bot -> bot.find_fren() -> bot.send()
# f = bot.friend().search('name')
# f.send('msg')

raw_info = read_info()
msg_list = make_msg(raw_info)
send(msg_list)

发生的错误

  1. 编码问题,excle创建的csv文件总感觉怪怪的(并不清楚是编码问题还是什么……),于是下载了其他的软件去创建了csv文件。
  2. file_open 有gbk和utf-8 两种方式,看怎么选择。
  3. 在扫描二维码的时候,下载好了以后,系统会自动使用我的默认的程序(爱奇艺万能播放器),然而在这里扫描成功以后登录的话,会显示"被占用",解决办法是扫描了以后不要着急登录,先关闭播放器然后再登录.

进步

  1. wxpymodel 其使用手册网址是: wxpy使用手册
  2. return [info for info in reader]类似的形式是:i+1 for i in range(1,2)
  3. 注意这个格式的使用方法.
 t = '{t}-你好,我是周宇,我会给你发{s}的大红包,时间是{a}。祝你新年快乐!'
    return [t.format(
                     t=info['称呼'],
                     s=info['红包金额'],
                     a=info['时间']
                     ) for info in raw_info]

其它

  1. wxpy有可能被封号,不能过分的使用,尽量不能高频率的发送信息,使用python内置的 time模块 的time.sleep方法,设置parameter 为3以上,我设置的是10秒.

你可能感兴趣的:(python,脚本)