文章目录
- 1. 成果展示
- 2. 环境配置
- 3. 爬朋友圈
- 4. 数据处理
- 5. 数据分析
-
- 5.1. 词频分析
-
- 5.1.1. 昵称词频分析
- 5.1.2. 内容词频分析
- 5.2. 情感分析
- 6. 引用参考
1. 成果展示
文章图片
文章图片
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. 昵称词频分析
可以看出你的微信好友中谁发朋友圈最勤。(出于对隐私的保护,请允许我打一下码)
文章图片
5.1.2. 内容词频分析
可以看出你的好友经常关注或谈论哪些内容。
文章图片
5.2. 情感分析 利用
snownlp
库做情感分析,并用pyecharts
库绘制饼状图。由饼状图可知:微信好友中大多人发的内容都是比较积极的。文章图片
6. 引用参考
【python|【python】微信朋友圈数据分析及可视化(爬虫+数据挖掘)】https://blog.csdn.net/qq_42951560/article/details/110558662
推荐阅读
- 推荐系统论文进阶|CTR预估 论文精读(十一)--Deep Interest Evolution Network(DIEN)
- Python专栏|数据分析的常规流程
- Python|Win10下 Python开发环境搭建(PyCharm + Anaconda) && 环境变量配置 && 常用工具安装配置
- Python绘制小红花
- Pytorch学习|sklearn-SVM 模型保存、交叉验证与网格搜索
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- python|8. 文件系统——文件的删除、移动、复制过程以及链接文件
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍
- java|微软认真聆听了开源 .NET 开发社区的炮轰( 通过CLI 支持 Hot Reload 功能)