加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

用Python分析了数千个微信昵称后,我们发现了这些规律...

发布时间:2018-08-28 19:30:28 所属栏目:教程 来源:XksA
导读:一、前言 这是一篇技术文,但又不是一篇技术文,今天分享的是,当笔者获取了微信小程序英文取名的3500多个微信用户昵称、年龄段后,分析得到下面结果。 二、Let's get it 1.基本信息获取 访问英文取名的用户基本信息接口,获取英文取名用户微信名(Nick nam

(3)数据分类判断

  1. # 昵称全中文判断 
  2. def is_all_ch(keyword): 
  3.     for c in keyword: 
  4.         # 包含常见中文字符 
  5.         if not ('u4e00' <= c <= 'u9fa5'): 
  6.             return False 
  7.     return True 
  8.  
  9. # 昵称全英文判断 
  10. def is_all_en(keyword): 
  11.     # 不能全部为空格或者首位为空格 
  12.     if all(ord(c) == 32 for c in keyword) or keyword[0] == ' ': 
  13.         return False 
  14.     # 允许空格和英文并存(例如:Xist A) 
  15.     if not all(65 < ord(c) < 128 or ord(c) == 32 for c in keyword): 
  16.         return False 
  17.     return True 
  18.  
  19. # 昵称全数字判断 
  20. def is_all_di(keyword): 
  21.     for uchar in keyword: 
  22.         if not (uchar >= 'u0030' and uchar <= u'u0039'): 
  23.             return False 
  24.     return True 
  25.  
  26. # 昵称包含表情图判断 
  27. def have_img(keyword): 
  28.     # 下面是大部分图片的一个unicode编码集 
  29.     # 详情查看:https://en.wikipedia.org/wiki/Emoji 
  30.     img_re = re.compile(u'[' 
  31.                       u'U0001F300-U0001F64F' 
  32.                       u'U0001F680-U0001F6FF' 
  33.                       u'u2600-u2B55]+', 
  34.                       re.UNICODE) 
  35.     if img_re.findall(keyword) : 
  36.         return True 
  37.     return False 
  38.  
  39. # 中文+数字昵称判断 
  40. def is_ch_di(keyword): 
  41.     for c in keyword: 
  42.         if not ('u4e00' <= c <= 'u9fa5') and not (c >= 'u0030' and c <= u'u0039'): 
  43.             return False 
  44.     return True 

(4)数据归类计算各类数量

  1. list_name = get_name() 
  2.  print("总共有:"+str(len(list_name))+"个微信名") 
  3.  for i in range(len(list_name)): 
  4.      result = classification_name(list_name[i]) 
  5.      if result == 'ch':  # 中文 
  6.          ch_name_number +=1 
  7.          ch_name.append(list_name[i]) 
  8.      if result == 'en':  # 英文 
  9.          en_name_number +=1 
  10.         en_name.append(list_name[i]) 
  11.     if result == 'di':  # 数字 
  12.         di_name_number +=1 
  13.         di_name.append(list_name[i]) 
  14.     if result == 'img': # 含表情 
  15.         img_name_number +=1 
  16.         img_name.append(list_name[i]) 
  17.     if result == 'ch_di': # 中文和数字 
  18.         ch_di_name_number +=1 
  19.         ch_di_name.append(list_name[i]) 
  20.     if result == 'other': # 其他 
  21.         oth_name_number +=1 
  22.         oth_name.append(list_name[i]) 
  23.  
  24. print("纯中文昵称个数:"+ str(ch_name_number)) 
  25. # print(ch_name) 
  26. print("纯英文昵称个数:"+ str(en_name_number)) 
  27. #print(en_name) 
  28. print("纯数字昵称个数:"+ str(di_name_number)) 
  29. # print(di_name) 
  30. print("包含表情图昵称个数:"+ str(img_name_number)) 
  31. # print(img_name) 
  32. print("中文和数字混合昵称个数:"+ str(ch_di_name_number)) 
  33. print(ch_di_name) 
  34. print("其他昵称个数:"+ str(oth_name_number)) 
  35. # print(oth_name) 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读