首页 > 编程技术 > python

Python 批量验证和添加手机号码为企业微信联系人

发布时间:2021-10-18 16:01

需求

批量验证和添加手机号码为企业微信账号的联系人

源码

import tkinter as tk
import pyautogui as pg
import tkinter.messagebox as msgbox
 
def setpos():
    global x,y
    try: x,y = eval(tEntry.get())
    except: pass
    pg.click(x-150,y)
    pg.typewrite('1')
    pg.moveTo(x,y,duration=0.5)
 
def alter(num):
    tList.delete(index)
    tList.insert(index,phone+','+str(num))
    user[index] = phone+','+str(num)
    with open("phones.txt","w",encoding="utf-8") as f:
        f.write('\n'.join(user))
 
def flag0():
    alter(0)
 
def flag1():
    alter(1)
 
def flag2():
    alter(2)
 
def start():
    global x,y,index,phone
    x0,y0 = pg.position()
    lines = len(user)
    index = -1
    for i in user:
        index += 1
        if len(i)==11:break
    phone = user[index]
    if len(phone)>11:
        msgbox.showinfo('提示','手机号大于11位,或全部结束!')
    else:
        try:
            t = tList.curselection()[0]
            tList.select_clear(t,t)
        except: pass
        tList.select_set(index,index)
        pg.click(x-150,y)
        pg.typewrite('\b'*50)
        pg.typewrite(phone)
        pg.moveTo(x,y,duration=0.5)
        pg.click()
        pg.moveTo(x0,y0)
 
def main():
    '''written by hannyang 2021.10.16'''
    global tEntry,tList
    global user
    
    root = tk.Tk()
    root.geometry(f'375x323+{x+55}+{y-85}')
    root.resizable(False, False)
    root.title('《企业微信好友》')
    root.wm_attributes('-topmost',True)
 
    tEntry = tk.Entry(root,width=8)
    tEntry.place(x = 275, y = 270)
    tEntry.insert(0,'995,410')
 
    bt1 = tk.Button(root,text=' 定位 ',command = setpos)
    bt1.place(x = 220, y = 265)
 
    bt2 = tk.Button(root,text=' 开始 ',command = start)
    bt2.place(x = 30, y = 265)
 
    bt3 = tk.Button(root,text=' 标0 ',command = flag0)
    bt3.place(x = 80, y = 265)
 
    bt4 = tk.Button(root,text=' 标1 ',command = flag1)
    bt4.place(x = 125, y = 265)
 
    bt5 = tk.Button(root,text=' 标2 ',command = flag2)
    bt5.place(x = 170, y = 265)
 
    user = []
    try:
        with open('phones.txt', 'r', encoding='utf-8') as fn:
            users = fn.readlines()
        for usr in users:
            if usr[-1]=='\n': usr=usr[:-1]
            user.append(usr.strip())
    except:
        user = ['当前文件夹中phones.txt文件不存在!']
        
    tScroll=tk.Scrollbar(root, orient=tk.VERTICAL)
    tScroll.place(x=330,y=25,height=220)
    
    tList=tk.Listbox(root,selectmode=tk.BROWSE,yscrollcommand=tScroll.set)
    tList.place(x=30,y=25,width=300,height=220)
 
    for i in user:
        tList.insert(tk.END,i)
        
    tScroll.config(command=tList.yview)
    tList.select_set(0,0)
    root.update()
    tmp = list(set(user))
    diff = len(user)-len(tmp)
    if diff!=0:
        msgbox.showinfo('提示',f'存在{diff}个重复手机号!可忽略')
    root.mainloop()
 
 
if __name__ == '__main__':
    
    x,y = pg.size()
    x = (x - 390)//2 + 350
    y = (y - 360)//2 + 65
    
    main()
 

注:代码倒数两三行中,390,360是被点窗口的大小,350,65用于定位坐标。

以下是保存电话的文本文件 phones.txt 的内容,手机号码已隐去:

运行

程序没有设置全自动的验证和添加,如果需要的话,则要把相关的按钮截图保存好.jpg图片,然后使用 pyautogui.locateCenterOnScreen() 等函数来定位,加上循环语句就能达成。

到此这篇关于Python 批量验证和添加手机号码为企业微信联系人的文章就介绍到这了,更多相关Python 批量验证企业微信内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

标签:[!--infotagslink--]

您可能感兴趣的文章: