【Python】公衆號APP數據抓取及分析

文章結構:
1.項目背景;
2.數據抓取;
3.數據清洗及分析;
4.量化建議。

一、項目背景:

應朋友業務發展需求,抓取真實性較高的婚戀數據(已通過“身份證,學歷,工作,房產,車輛及其他資產”等審覈)。

同時,瞭解平臺的用戶畫像及業務狀況。

二、數據抓取:

環境:Python3.7

1.提取url:
(1)通過公衆號網頁後臺和Chrome開發者工具,提取url參數。

a.打開Chrome瀏覽器,登錄微信公衆平臺後臺,依次點擊:
新建羣發(或素材管理)——圖文信息——轉載文章——超鏈接——查找公衆號文章——輸入ID——搜索目標並確認;
b.打開Chrome開發者工具,點擊Network——all查看參數。

具體url參數,請詳見下圖:

在這裏插入圖片描述
在這裏插入圖片描述

2.數據抓取:

import requests
import time
lines=[ ]
url='https://mp.weixin.qq.com/cgi-bin/appmsg'  # 目標url
headers = {
    'Cookie':' ',
    'User-Agent':' '
}  # 使用Cookie,自動登錄
token=''  # 網頁的token會時常變化,因此建議直接用代碼抓取
fakeid='' # 公衆號的標識ID,不變
data = {
        'token': token,
        'lang':'zh_CN',
        'f': 'json',
        'ajax':'1',
        'random':' ',
        'action':'list_ex',
        'begin':' ',
        'count':'5',
        'query':' ',  # 公衆號ID
        'fakeid': fakeid,
        'type':'9'
}  # 自行篩選參數
appmsg_response=requests.get(url=url, headers=headers,params=data)
max_num=appmsg_response.json().get("app_msg_cnt")
num=int(int(max_num)/5)  # 若被提示None Type,則可能頻次太快,被封了
begin=0
while num + 1 > 0:
    data_response = requests.get(url, headers=headers, params=data)
    line = data_response.json().get('app_msg_list')  # 可以篩選目標字段,否則會提取標題及圖片,文章鏈接等所有字段
    num -= 1
    begin += 5
    time.sleep(20)  # 注意間隔,若太快,可能會被封
# for item in line:
# print(item.get('link')) #可以打印結果,查看數據狀況
with open('', 'w+') as f:  # 視數據類型,保存爲csv/txt/html等格式
    for line in lines:
        f.write(line)
        f.write('\n')

二、數據清洗及分析:

1.數據清洗:

清洗異常值、缺失值等數據,結合Python的pandas模塊進行分類統計。

2.數據分析(Tableau及matplotlib可視化):

有效樣本總量: 652;

樣本分佈:

女性佔比:75.73%;

男性佔比:24.27%;

樣本分佈不均,數據會有偏差。

年齡:

(1)女性爲23-43歲,男性爲24-46歲,兩者峯值均爲30歲(1988年生);
(2)據過渡趨勢,可預見90後婚戀市場需求;

在這裏插入圖片描述

(3)匹配概率預估:

總體來看,男女性年齡分佈重合度較高,但對於錯位的現實需求,匹配率不容樂觀。

假設男女樣本不獨立:
1)30歲男性匹配年輕5歲的女性,概率約爲0.00052;
2)30歲女性匹配年輕5歲的男性,概率約爲0.00018;
兩者的概率,均很低。

薪資:

(1)整體範圍爲0.2-8.3萬/月,集中在0.8-2萬/月,男性薪資高於女性;
(2)針對30歲的主流人羣,薪資爲1萬/月的匹配率較高;而2萬/月的女性,2.5萬/月的男性,則更有優勢。

在這裏插入圖片描述

學歷:

(1)“專本碩博(含博士後)”四大類學歷,本碩爲主;
(2)在條件相當的情況下,本碩人羣匹配成功率更高。

在這裏插入圖片描述
在這裏插入圖片描述
(圖中紅色虛線爲均值,請留意均值右側的數據)

職業:

(1)就業於民營、國企、事業單位、政府機關等企業,分散在教師、銷售、公務員、醫生、技術人員、設計、律師等50類職業;
(2)女性看重穩定,男性看重發展。

在這裏插入圖片描述

城市:

廣州、深圳、東莞、佛山爲主,全國各地共23個城市。

在這裏插入圖片描述

身高

(1)男性整體身高高於女性,男性身高集中在170、175cm,女性身高集中在160cm;
(2)女性樣本身高差大於男性樣本,成功匹配的概率不高。

在這裏插入圖片描述

婚戀需求主題分析

抽取該平臺17%等文章數量,利用pyLDAvis和詞雲圖進行主題分析,提取頻次較高的幾個關鍵詞,總結人羣需求。

(1)pyLDAvis

抽樣人羣比較看重“城市“、“身高“、“工作情況“、“體重“、“宗教信仰“、“婚姻狀態“、“民族“、“性格“、“學歷“、“家庭背景“等方面。

在這裏插入圖片描述

(2)詞雲圖

對比pyLDAvis,抽樣人羣更看重“體重“、“民族“、“婚姻狀態“、“年齡“、“薪資“、“血型“等方面。

在這裏插入圖片描述

小結:抽樣人羣很看重“身高“、“體重“、“宗教信仰“、“婚姻狀況“、“民族“、“城市“這幾個方面,結合以上字段做婚戀營銷,會有不錯的效果。

3.總結

(1)該平臺成功匹配的概率不高;

非獨立樣本事件概率預估:
成功匹配一位30歲,身高165cm,居住在廣州,薪資1萬的女性的概率是:(78* 329* 44* 26)/652^4≈0.0001625,幾乎不可能發生。

(2)可遇見90後婚戀市場需求;

(3)平臺發展建議:
1)按性別、年齡、城市細分用戶羣體,利用公衆號、社羣等形成營銷閉環,相互導流;
2)結合“身高“、“體重“、“宗教信仰“、“婚姻狀況“、“民族“、“城市“等字段和算法進行營銷,能提高匹配度。

四、量化建議

匹配成功率不高的情況下,怎樣賦能用戶?量化。

把各項指標細分爲一二級指標,按優先級細分各項指標權重,統一打分標準,對比總分進行結果選擇。

在這裏插入圖片描述

打分示例:
A對象:身高182cm,學歷碩士,薪資23k/m,未婚,得分2.67分;
B對象:身高175cm,學歷本科,薪資15k/m,離異且無孩子,得分0.62分;
A>B,選A。

用戶選擇量化後,選擇不僅更加理性,做決策也更加迅速了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章