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抓取Discuz!用户名脚本代码
Dec 30 Python
python进程管理工具supervisor使用实例
Sep 17 Python
Python操作MySQL数据库的方法
Jun 20 Python
Python OOP类中的几种函数或方法总结
Feb 22 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
Aug 18 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
TensorFlow tf.nn.conv2d实现卷积的方式
Jan 03 Python
pytorch 自定义参数不更新方式
Jan 06 Python
django实现后台显示媒体文件
Apr 07 Python
详解python如何引用包package
Jun 07 Python
Python爬虫数据的分类及json数据使用小结
Mar 29 Python
python 常用的异步框架汇总整理
Jun 18 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结合飞信 免费天气预报短信
2009/05/07 PHP
ie6 动态缩略图不显示的原因
2009/06/21 PHP
浅析php插件 HTMLPurifier HTML解析器
2013/07/01 PHP
php引用传值实例详解学习
2013/11/06 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
Nigma vs Alliance BO5 第四场2.14
2021/03/10 DOTA
用javascript实现改变TEXTAREA滚动条和按钮的颜色,以及怎样让滚动条变得扁平
2007/04/20 Javascript
自制的文件上传JS控件可支持IE、chrome、firefox etc
2014/04/18 Javascript
JavaScript function 的 length 属性使用介绍
2014/09/15 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
jQuery中bind(),live(),delegate(),on()绑定事件方法实例详解
2016/01/19 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
深入理解JavaScript内置函数
2016/06/03 Javascript
微信小程序 Storage API实例详解
2016/10/02 Javascript
Dropify.js图片宽高自适应的方法
2017/11/27 Javascript
VuePress 快速踩坑小结
2019/02/14 Javascript
Layui实现主窗口和Iframe层参数传递
2019/11/14 Javascript
Pyhton中防止SQL注入的方法
2015/02/05 Python
windows下python安装paramiko模块和pycrypto模块(简单三步)
2017/07/06 Python
django settings.py 配置文件及介绍
2019/07/15 Python
Django urls.py重构及参数传递详解
2019/07/23 Python
python与mysql数据库交互的实现
2020/01/06 Python
Python urllib request模块发送请求实现过程解析
2020/12/10 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
HTML5 Plus 实现手机APP拍照或相册选择图片上传功能
2016/07/13 HTML / CSS
Canvas与Image互相转换示例代码
2013/08/09 HTML / CSS
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
北承题目(C++)
2012/05/16 面试题
大课间活动实施方案
2014/03/06 职场文书
2014年工程部工作总结
2014/11/25 职场文书
社区元宵节活动总结
2015/02/06 职场文书
Django与数据库交互的实现
2021/06/03 Python
MySQL中varchar和char类型的区别
2021/11/17 MySQL
Nginx的gzip相关介绍
2022/05/11 Servers
MySQL数据库简介与基本操作
2022/05/30 MySQL