python 通过手机号识别出对应的微信性别(实例代码)
作者:weixin_41887247
这篇文章主要介绍了python 通过手机号识别出对应的微信性别,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
python 通过手机号识别出对应的微信性别,具体代码如下所述:
def getGender(self,tel): self.d(resourceId="com.tencent.mm:id/kh").clear_text() self.d(resourceId="com.tencent.mm:id/kh").set_text(tel) self.d(resourceId="com.tencent.mm:id/mf").click() time.sleep(1) self.d.watcher("AccNotExist").when(text="该用户不存在").click(resourceId="com.tencent.mm:id/kd") self.d.watcher("AccException").when(text="被搜帐号状态异常,无法显示").click(resourceId="com.tencent.mm:id/kd" self.d.watchers.run() AccNotExist = self.d.watcher("AccNotExist").triggered AccException = self.d.watcher("AccException").triggered OperationFrequently = self.d.watcher("OperationFrequently").triggered if AccNotExist: self.d.watchers.reset() return "用户不存在" elif AccException: self.d.watchers.reset() return "被搜帐号状态异常,无法显示" elif OperationFrequently: self.d.watchers.reset() if self.d(resourceId="com.tencent.mm:id/b3y").exists: gender = self.d(resourceId="com.tencent.mm:id/b3y").info['contentDescription'] self.d(resourceId="com.tencent.mm:id/kb").click() # back return gender else: self.d(resourceId="com.tencent.mm:id/kb").click() # back return "用户未设置性别" def write_excel_xls(self,pathfile, value): index = len(value) workbook = xlwt.Workbook() # 新建一个工作簿 sheet1 = workbook.add_sheet("boy") # 在工作簿中新建一个表格 sheet2 = workbook.add_sheet("girl") sheet3 = workbook.add_sheet("NotSet") sheet4 = workbook.add_sheet("NotExist") sheet5 = workbook.add_sheet("AccountE") def writesheet(self,sheet): for i in range(0, index): for j in range(0, len(value[i])): sheet.write(i, j, value[i][j]) # 像表格中写入数据(对应的行和列) workbook.save(pathfile) # 保存工作簿 writesheet(self,sheet1) writesheet(self,sheet2) writesheet(self,sheet3) writesheet(self,sheet4) writesheet(self,sheet5) def write_excel_xls_append(self,pathfile, sheet_name, value): index = len(value) # 获取需要写入数据的行数 workbook = xlrd.open_workbook(pathfile) # 打开工作簿 # sheets = workbook.sheet_names() # 获取工作簿中的所有表格 worksheet = workbook.sheet_by_name(sheet_name) # 获取工作簿中所有表格中的的第一个表格 rows_old = worksheet.nrows # 获取表格中已存在的数据的行数 new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象 new_worksheet = new_workbook.get_sheet(sheet_name) # 获取转化后工作簿中的第一个表格 for i in range(0, index): for j in range(0, len(value[i])): new_worksheet.write(i + rows_old, j, value[i][j]) # 追加写入数据,注意是从i+rows_old行开始写入 new_workbook.save(pathfile) # 保存工作簿 # print("%s【追加】写入数据成功!" % pathfile) def read_excel_xls(self,pathfile, sheet_name): workbook = xlrd.open_workbook(pathfile) # 打开工作簿 sheets = workbook.sheet_names() # 获取工作簿中的所有表格 worksheet = workbook.sheet_by_name(sheet_name) # 获取工作簿中所有表格中的的第一个表格 for i in range(0, worksheet.nrows): for j in range(0, worksheet.ncols): print(worksheet.cell_value(i, j), "\t", end="") # 逐行逐列读取数据
ps:下面看下python 通过电话号码获取微信性别信息
getWeixinPro.py
# coding:utf-8 import sys,re,xlrd from xlwt import * reload(sys) sys.setdefaultencoding('utf8') from uiautomator import device as d import unittest import time #打开excel def openExcel(file): try: data = xlrd.open_workbook(file) return data except Exception as e: print (str(e)) def floatToInt(list): realList = [] for value in list: if (type(value) == float): value = str(value) value = re.sub('\.0*$', "", value) value = str(value).rstrip() realList.append(value) return realList class Mytest(unittest.TestCase): #初始化工作 def setUp(self): print ("--------------初始化工作") #退出清理工作 # def tearDown(self): # print ("--------------退出清理工作") #测试 def test_33(self): # d.screen.on() file='1.xlsx' print("check[+] %s" % file) data = openExcel(file) sheets = data.sheets() table=sheets[0] writeFile = Workbook(encoding='utf-8') # 指定file以utf-8的格式打开 writeTable = writeFile.add_sheet('微信号-性别') for row in range(table.nrows): tel=floatToInt(table.row_values(row))[0] if not d(resourceId="com.tencent.mm:id/h2").exists: if d(resourceId='com.tencent.mm:id/h7').exists: d(resourceId='com.tencent.mm:id/h7').click() if d(resourceId="com.tencent.mm:id/h2").exists: d(resourceId="com.tencent.mm:id/h2").clear_text() d(resourceId="com.tencent.mm:id/h2").set_text(tel) d(resourceId='com.tencent.mm:id/b20').click() d.watcher(tel).when(resourceId="com.tencent.mm:id/aes").when(text="确定") \ .click(text="确定") d.watchers.run() isTriggered=d.watcher(tel).triggered print(isTriggered) if isTriggered: d.watcher(tel).remove() if not isTriggered: if d(resourceId='com.tencent.mm:id/agf').exists: contentDescription=d(resourceId='com.tencent.mm:id/agf').info['contentDescription'] print("tel=%s,sex=%s"%(tel,contentDescription)) writeTable.write(row, 0, tel) writeTable.write(row, 1, contentDescription) else: print("tel=%s,sex=%s" % (tel,"用户没有设置性别")) writeTable.write(row, 0, tel) writeTable.write(row, 1, "用户没有设置性别") if d(resourceId='com.tencent.mm:id/h7').exists: d(resourceId='com.tencent.mm:id/h7').click() else: print("tel=%s,sex=%s" % (tel, "没有该用户")) writeTable.write(row, 0, tel) writeTable.write(row, 1, "没有该用户") time.sleep(3) writeFile.save('wx_tel_sex.xlsx') print ("--------------测试1") if __name__ == '__main__': # from uiautomator import device as d # # # print(d.info) # # d.press.power() unittest.main()
总结
以上所述是小编给大家介绍的python 通过手机号识别出对应的微信性别,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!