python 通過(guò)手機(jī)號(hào)識(shí)別出對(duì)應(yīng)的微信性別(實(shí)例代碼)
python 通過(guò)手機(jī)號(hào)識(shí)別出對(duì)應(yīng)的微信性別,具體代碼如下所述:
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="該用戶(hù)不存在").click(resourceId="com.tencent.mm:id/kd") self.d.watcher("AccException").when(text="被搜帳號(hào)狀態(tài)異常,無(wú)法顯示").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 "用戶(hù)不存在" elif AccException: self.d.watchers.reset() return "被搜帳號(hào)狀態(tài)異常,無(wú)法顯示" 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 "用戶(hù)未設(shè)置性別" def write_excel_xls(self,pathfile, value): index = len(value) workbook = xlwt.Workbook() # 新建一個(gè)工作簿 sheet1 = workbook.add_sheet("boy") # 在工作簿中新建一個(gè)表格 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]) # 像表格中寫(xiě)入數(shù)據(jù)(對(duì)應(yīng)的行和列) 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) # 獲取需要寫(xiě)入數(shù)據(jù)的行數(shù) workbook = xlrd.open_workbook(pathfile) # 打開(kāi)工作簿 # sheets = workbook.sheet_names() # 獲取工作簿中的所有表格 worksheet = workbook.sheet_by_name(sheet_name) # 獲取工作簿中所有表格中的的第一個(gè)表格 rows_old = worksheet.nrows # 獲取表格中已存在的數(shù)據(jù)的行數(shù) new_workbook = copy(workbook) # 將xlrd對(duì)象拷貝轉(zhuǎn)化為xlwt對(duì)象 new_worksheet = new_workbook.get_sheet(sheet_name) # 獲取轉(zhuǎn)化后工作簿中的第一個(gè)表格 for i in range(0, index): for j in range(0, len(value[i])): new_worksheet.write(i + rows_old, j, value[i][j]) # 追加寫(xiě)入數(shù)據(jù),注意是從i+rows_old行開(kāi)始寫(xiě)入 new_workbook.save(pathfile) # 保存工作簿 # print("%s【追加】寫(xiě)入數(shù)據(jù)成功!" % pathfile) def read_excel_xls(self,pathfile, sheet_name): workbook = xlrd.open_workbook(pathfile) # 打開(kāi)工作簿 sheets = workbook.sheet_names() # 獲取工作簿中的所有表格 worksheet = workbook.sheet_by_name(sheet_name) # 獲取工作簿中所有表格中的的第一個(gè)表格 for i in range(0, worksheet.nrows): for j in range(0, worksheet.ncols): print(worksheet.cell_value(i, j), "\t", end="") # 逐行逐列讀取數(shù)據(jù)
ps:下面看下python 通過(guò)電話(huà)號(hào)碼獲取微信性別信息
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 #打開(kāi)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 ("--------------退出清理工作") #測(cè)試 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以u(píng)tf-8的格式打開(kāi) writeTable = writeFile.add_sheet('微信號(hào)-性別') 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,"用戶(hù)沒(méi)有設(shè)置性別")) writeTable.write(row, 0, tel) writeTable.write(row, 1, "用戶(hù)沒(méi)有設(shè)置性別") if d(resourceId='com.tencent.mm:id/h7').exists: d(resourceId='com.tencent.mm:id/h7').click() else: print("tel=%s,sex=%s" % (tel, "沒(méi)有該用戶(hù)")) writeTable.write(row, 0, tel) writeTable.write(row, 1, "沒(méi)有該用戶(hù)") time.sleep(3) writeFile.save('wx_tel_sex.xlsx') print ("--------------測(cè)試1") if __name__ == '__main__': # from uiautomator import device as d # # # print(d.info) # # d.press.power() unittest.main()
總結(jié)
以上所述是小編給大家介紹的python 通過(guò)手機(jī)號(hào)識(shí)別出對(duì)應(yīng)的微信性別,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
python中的多進(jìn)程的創(chuàng)建與啟動(dòng)方式
這篇文章主要介紹了python中的多進(jìn)程的創(chuàng)建與啟動(dòng),python中的并發(fā)有三種形式,多進(jìn)程、多線(xiàn)程、協(xié)程,執(zhí)?并發(fā)任務(wù)的?的是為了提?程序運(yùn)?的效率,本文通過(guò)實(shí)例代碼詳細(xì)講解需要的朋友可以參考下2022-12-12Python實(shí)現(xiàn)導(dǎo)彈自動(dòng)追蹤代碼實(shí)例
這篇文章主要介紹了Python實(shí)現(xiàn)導(dǎo)彈自動(dòng)追蹤代碼實(shí)例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-11-11詳解python使用Nginx和uWSGI來(lái)運(yùn)行Python應(yīng)用
這篇文章主要介紹了詳解python使用Nginx和uWSGI來(lái)運(yùn)行Python應(yīng)用,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Matplotlib的反轉(zhuǎn)軸、繪制雙軸和定制刻度詳解
這篇文章主要介紹了Matplotlib的反轉(zhuǎn)軸、繪制雙軸和定制刻度詳解,作為Python生態(tài)中應(yīng)用最廣泛的繪圖庫(kù),Matplotlib用起來(lái)非常簡(jiǎn)單,也很容易上手,本文匯總了和軸、刻度相關(guān)的七個(gè)Matplotlib使用技巧,并給出了實(shí)例代碼,需要的朋友可以參考下2023-08-08Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用
這篇文章主要介紹了Django零基礎(chǔ)入門(mén)之自定義標(biāo)簽及模板中的使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09