python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)


文章目录

  • 1. 成果展示
  • 2. 环境配置
  • 3. 爬朋友圈
  • 4. 数据处理
  • 5. 数据分析
    • 5.1. 词频分析
      • 5.1.1. 昵称词频分析
      • 5.1.2. 内容词频分析
    • 5.2. 情感分析
  • 6. 引用参考

1. 成果展示 python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
文章图片

python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
文章图片

2. 环境配置 环境配置教程请参考我的这篇文章:【python】自动化连接和操作手机微信
3. 爬朋友圈 爬所有用户前100天(最多只能爬到173天前)发的朋友圈数据,包括:用户昵称,文本内容和发布时间。
from appium import webdriver import time# 连接手机微信 caps = { "platformName": "Android", "deviceName": "emulator-5554", "platformVersion": "6.0.1", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": "True", "unicodeKeyboard": "True", "resetKeyboard": "True" } driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)# 爬朋友圈数据 time.sleep(10) print('点击发现') driver.find_elements_by_id('com.tencent.mm:id/cnh')[2].click() time.sleep(5) print('点击朋友圈') driver.find_element_by_id('com.tencent.mm:id/b3b').click() time.sleep(5) print('开始爬虫') with open('pyqs.csv', 'a', encoding='utf_8_sig') as f: f.write('昵称,文本,时间'+'\n') while True: for item in driver.find_elements_by_id('com.tencent.mm:id/fn9'): try: name = item.find_element_by_id('com.tencent.mm:id/e3x').text except: name = '' try: text = item.find_element_by_id('com.tencent.mm:id/b_e').text except: try: text = item.find_element_by_id('com.tencent.mm:id/gbx').text except: text = '' try: time = item.find_element_by_id('com.tencent.mm:id/ij').text except: time = '' if name != '' and text != '' and time != '': name = name.replace(',', ' ') text = text.replace(',', ' ').replace('\n', ' ') each = ','.join([name, text, time]) with open('pyqs.csv', 'a', encoding='utf_8_sig') as f: f.write(each+'\n') print(each) else: pass # 下滑 driver.swipe(0, 1400, 0, 700) if '101天前' in time: print('爬取结束') break else: pass

4. 数据处理 爬下来的数据存到pyqs.csv文件中,我们发现有很多重复数据,做一下去重:
'''依赖模块 pip install pandas ''' import pandas as pd df = pd.read_csv('pyqs.csv') df = df.drop_duplicates() df.to_csv('pyqs2.csv', encoding='utf_8_sig')

5. 数据分析 数据分析代码请参考我的这篇文章:【python】B站弹幕数据分析及可视化(爬虫+数据挖掘)
5.1. 词频分析 利用jieba库做词频分析,并用pyecharts库绘制词云图。
5.1.1. 昵称词频分析
可以看出你的微信好友中谁发朋友圈最勤。(出于对隐私的保护,请允许我打一下码)
python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
文章图片

5.1.2. 内容词频分析
可以看出你的好友经常关注或谈论哪些内容。
python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
文章图片

5.2. 情感分析 利用snownlp库做情感分析,并用pyecharts库绘制饼状图。由饼状图可知:微信好友中大多人发的内容都是比较积极的。
python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)
文章图片

6. 引用参考
【python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)】https://blog.csdn.net/qq_42951560/article/details/110558662

    推荐阅读