python 通过手机号识别出对应的微信性别(实例代码)


Posted in Python onDecember 22, 2019

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 通过手机号识别出对应的微信性别,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Python 相关文章推荐
使用基于Python的Tornado框架的HTTP客户端的教程
Apr 24 Python
Python获取CPU、内存使用率以及网络使用状态代码
Feb 08 Python
Python + selenium + requests实现12306全自动抢票及验证码破解加自动点击功能
Nov 23 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
ubuntu上安装python的实例方法
Sep 30 Python
Python reduce函数作用及实例解析
May 08 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
Jul 09 Python
Python configparser模块封装及构造配置文件
Aug 07 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
Python使用struct处理二进制(pack和unpack用法)
Nov 12 Python
python matlab库简单用法讲解
Dec 31 Python
Django与AJAX实现网页动态数据显示的示例代码
Feb 24 Python
python3 动态模块导入与全局变量使用实例
Dec 22 #Python
Python实现手机号自动判断男女性别(实例解析)
Dec 22 #Python
Python代码生成视频的缩略图的实例讲解
Dec 22 #Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 #Python
如何将你的应用迁移到Python3的三个步骤
Dec 22 #Python
使用python快速实现不同机器间文件夹共享方式
Dec 22 #Python
python FTP批量下载/删除/上传实例
Dec 22 #Python
You might like
PHP将DateTime对象转化为友好时间显示的实现代码
2011/09/20 PHP
PHP中extract()函数的妙用分析
2012/07/11 PHP
使用PHP强制下载PDF文件示例
2014/01/17 PHP
php中JSON的使用方法
2015/04/30 PHP
Yii中的cookie的发送和读取
2016/07/27 PHP
Prototype使用指南之form.js
2007/01/10 Javascript
浅谈js的setInterval事件
2014/12/05 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
JS+CSS实现六级网站导航主菜单效果
2015/09/28 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
Bootstrap每天必学之附加导航(Affix)插件
2016/04/25 Javascript
bootstrap警告框使用方法解析
2017/01/13 Javascript
Bootstrap进度条实现代码解析
2017/03/07 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
node-sass安装失败的原因与解决方法
2017/09/04 Javascript
如何利用@angular/cli V6.0直接开发PWA应用详解
2018/05/06 Javascript
浅谈JavaScript 代码整洁之道
2018/10/23 Javascript
扫微信小程序码实现网站登陆实现解析
2019/08/20 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
Python的另外几种语言实现
2015/01/29 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
教大家玩转Python字符串处理的七种技巧
2017/03/31 Python
浅述python中深浅拷贝原理
2018/09/18 Python
Django渲染Markdown文章目录的方法示例
2019/01/02 Python
python实现远程控制电脑
2019/05/23 Python
python 实现控制鼠标键盘
2020/11/27 Python
python代码实现图书管理系统
2020/11/30 Python
大韩航空官方网站:Korean Air
2017/10/25 全球购物
联想西班牙官网:Lenovo西班牙
2018/08/28 全球购物
大整数数相乘的问题
2012/07/22 面试题
业务经理岗位职责
2013/11/11 职场文书
基层党组织公开承诺书
2014/03/28 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
2015年国庆节寄语
2015/08/17 职场文书
基于Redis位图实现用户签到功能
2021/05/08 Redis