1. 首页
  2. 影视

这些“土里土气”的微信昵称,你朋友圈到底有

9 # 将页面转变成json代码格式

10 search_json = search_response.json

11 # 获取我们需要的数据,是列表格式

12 our_data = search_json['ResponseData']

13 list_len = len(our_data)

14 print('总用户数有:' + str(list_len))

15 user_visit_numbers = 0

16 data_research = 0

17 NickName =

18 for x in our_data:

19 user_numbers = x['Count'] + user_visit_numbers

20 if x['NickName'] == '':

21 data_research += 1

22 NickName.append(x['NickName'])

23 print("微信名获取失败量:"+str(data_research))

24 print(NickName)

25 name = ['微信名称']

26 file_test = pd.DataFrame(columns=name, data=NickName)

27 file_test.to_csv(r'I:/data.csv', encoding='utf-8',index=False)

28 print('总访问量:' + str(user_visit_numbers))

运行结果:

1总用户数有:3549

2微信名获取失败量:0

3总访问量:4573

读取所有微信名,数据分类

(1)读取微信名

1 # 读取文件,取出微信名

2 def get_name:

3 NickName =

4 with open('I:/data.csv','r',encoding='utf8') as file :

5 i = 0

6 for line in file:

7 if i == 0: # 去除表头

8 i = 1

9 continue

10 line = line.strip # 去除换行符

11 NickName.append(line)

12 return NickName

(2)数据分为以下六大类

这些“土里土气”的微信昵称,你朋友圈到底有

1 # ch :Chinese

2 ch_name_number = 0

3 ch_name =

4 # en :English

5 en_name_number = 0

6 en_name =

7 # di : digtal

8 di_name_number = 0

9 di_name =

10 # img : image

11 img_name_number = 0

12 img_name =

13 # ch_di : Chinese and digtal

14 ch_di_name =

15 # other : other

16 oth_name_number = 0

17 oth_name =

(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)

运行结果:

1总共有:3549个微信名

2纯中文昵称个数:1514

3纯英文昵称个数:569

4纯数字昵称个数:9

5包含表情图昵称个数:400

6中文和数字混合昵称个数:19

7其他昵称个数:1038

获取用户画(只获取用户年龄段)

访问英文取名用户画像接口,获取近30天活跃用户和新用户的年龄段

1 # 获取用户年龄段

2 def get_data:

3 # 获取token,并处理

4 t = get_token.strip('"')

5 # 然后将处理后的token值和其他参数作为post方式的参数值,调用用户画像api

6 post_user_api = " https://api.weixin.qq.com/datacube/getweanalysisappiduserportrait?access_token="

7 post_user_url = post_user_api + t

8 # 访问获取概况数据 (近一个月的数据情况)

9 data = json.dumps({

10 "begin_date" : "2018-07-21",

11 "end_date" : "2018-08-19"})

12 # 获取信息

13 user_portrait_data = get_info(post_user_url, data)

14 # 时间段

15 ref_date = user_portrait_data['ref_date']

16 # 新用户

17 visit_uv_new = user_portrait_data['visit_uv_new']

18 活跃用户

19 visit_uv = user_portrait_data['visit_uv']

20 # 年龄段

21 print(ref_date )

22 print((visit_uv_new['ages']))

23 print((visit_uv['ages']))

运行结果:

1 # id : 为年龄段序号 name :年龄段名称 value : 该年龄段人数

2 20180721-20180819

本文来自投稿,不代表本人立场,如若转载,请注明出处:/yingshi/85910.html