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编写电话薄实现增删改查功能
May 07 Python
Python编程实现的图片识别功能示例
Aug 03 Python
Python探索之修改Python搜索路径
Oct 25 Python
Python数据分析中Groupby用法之通过字典或Series进行分组的实例
Dec 08 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
May 16 Python
Python 数值区间处理_对interval 库的快速入门详解
Nov 16 Python
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
Jan 08 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
Feb 25 Python
基于Django OneToOneField和ForeignKey的区别详解
Mar 30 Python
django 利用Q对象与F对象进行查询的实现
May 15 Python
Python直接赋值及深浅拷贝原理详解
Sep 05 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生成html分页列表的代码
2007/03/18 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
PHP中require和include路径问题详解
2014/12/25 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP制作用户注册系统
2015/10/23 PHP
PHP二维关联数组的遍历方式(实例讲解)
2017/10/18 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
php闭包中使用use声明变量的作用域实例分析
2018/08/09 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
鼠标移动到图片名上,显示图片的简单实例
2013/07/14 Javascript
jquery mobile changepage的三种传参方法介绍
2013/09/13 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
node.js中的fs.unlink方法使用说明
2014/12/15 Javascript
轻松掌握JavaScript代理模式
2016/08/26 Javascript
JS实现微信弹出搜索框 多条件查询功能
2016/12/13 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
jQuery Pagination分页插件_动力节点Java学院整理
2017/07/17 jQuery
JavaScript模拟文件拖选框样式v1.0的实例
2017/08/04 Javascript
解决webpack无法通过IP地址访问localhost的问题
2018/02/22 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
jquery实现直播视频弹幕效果
2020/02/25 jQuery
JavaScript中的函数式编程详解
2020/08/22 Javascript
Python ORM框架SQLAlchemy学习笔记之数据添加和事务回滚介绍
2014/06/10 Python
Python模块文件结构代码详解
2018/02/03 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
Python面向对象程序设计之继承、多态原理与用法详解
2020/03/23 Python
24个canvas基础知识小结
2014/12/17 HTML / CSS
新闻专业个人自我评价
2013/09/21 职场文书
怎样写留学自荐信
2013/11/11 职场文书
业务主管岗位职责
2013/11/20 职场文书
小班开学寄语
2014/04/04 职场文书
紧急迫降观后感
2015/06/15 职场文书
仙境之桥观后感
2015/06/16 职场文书
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle