python 通過手機(jī)號(hào)識(shí)別出對(duì)應(yīng)的微信性別(實(shí)例代碼)
python 通過手機(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="該用戶不存在").click(resourceId="com.tencent.mm:id/kd")
self.d.watcher("AccException").when(text="被搜帳號(hào)狀態(tài)異常,無法顯示").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 "被搜帳號(hào)狀態(tài)異常,無法顯示"
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 "用戶未設(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]) # 像表格中寫入數(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) # 獲取需要寫入數(shù)據(jù)的行數(shù)
workbook = xlrd.open_workbook(pathfile) # 打開工作簿
# 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]) # 追加寫入數(shù)據(jù),注意是從i+rows_old行開始寫入
new_workbook.save(pathfile) # 保存工作簿
# print("%s【追加】寫入數(shù)據(jù)成功!" % 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) # 獲取工作簿中所有表格中的的第一個(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 通過電話號(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
#打開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的格式打開
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,"用戶沒有設(shè)置性別"))
writeTable.write(row, 0, tel)
writeTable.write(row, 1, "用戶沒有設(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, "沒有該用戶"))
writeTable.write(row, 0, tel)
writeTable.write(row, 1, "沒有該用戶")
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 通過手機(jī)號(hào)識(shí)別出對(duì)應(yīng)的微信性別,希望對(duì)大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章
python開發(fā)一個(gè)解析protobuf文件的簡(jiǎn)單編譯器
這篇文章主要介紹了python如何開發(fā)一個(gè)解析protobuf文件的簡(jiǎn)單編譯器,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下2020-11-11
python自動(dòng)重試第三方包retrying模塊的方法
retrying是一個(gè)python的重試包,可以用來自動(dòng)重試一些可能運(yùn)行失敗的程序段。這篇文章主要介紹了python自動(dòng)重試第三方包retrying的方法,需要的朋友參考下吧2018-04-04
Python實(shí)現(xiàn)在PDF中插入單圖像水印和平鋪圖像水印
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)在PDF中插入單圖像水印和平鋪圖像水印,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-04-04
解決python3 整數(shù)數(shù)組轉(zhuǎn)bytes的效率問題
這篇文章主要介紹了解決python3 整數(shù)數(shù)組轉(zhuǎn)bytes的效率問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03
把MySQL表結(jié)構(gòu)映射為Python中的對(duì)象的教程
這篇文章主要介紹了簡(jiǎn)單地把MySQL表結(jié)構(gòu)映射為Python中的對(duì)象的方法,用到了Python中的SQLAlchemy庫,需要的朋友可以參考下2015-04-04
Python學(xué)習(xí)pygal繪制線圖代碼分享
這篇文章主要介紹了Python學(xué)習(xí)pygal繪制線圖代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下。2017-12-12
Django集成Redis數(shù)據(jù)庫的操作指南
本文將詳細(xì)介紹如何在 Django 項(xiàng)目中集成 Redis 數(shù)據(jù)庫,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03
Python代碼調(diào)用執(zhí)行shell踩坑解決
這篇文章主要為大家介紹了Python代碼調(diào)用執(zhí)行shell,踩過的坑解決方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06

