自动抓取网页数据( 抓评论滑到网页评论区(一):抓取数据方便)
优采云 发布时间: 2022-01-28 13:04自动抓取网页数据(
抓评论滑到网页评论区(一):抓取数据方便)
Python如何实现抖音评论数据抓取
发布时间:2022-01-21 09:14:13 来源:易速云 阅读量:88 作者:小新专栏:开发技术
小编将和大家分享一下Python是如何实现抖音评论数据抓取的。我希望您在阅读此文章 后有所收获。一起来讨论吧!
1. 获取数据
抖音网页版已经发布,抓拍数据方便多了。
捕捉评论
滑动到网页评论区,过滤浏览器网络请求中收录评论的请求,不断刷新评论即可看到评论界面。
通过该接口,您可以编写 Python 程序来模拟请求并获取评论数据。
请求数据设置一定的间隔,避免请求过多影响其他人的服务
抓取评论数据有两点需要注意:
2. EDA
11.17号的视频有12w评论,我只抢了1w多。
文本列是注释。
首先对数据进行一些探索性分析。之前介绍过几个EDA工具,可以自动生成基础数据统计和图表。
这次我使用了 ProfileReport
# eda
profile = ProfileReport(df, title='张同学抖音评论数据', explorative=True)
profile
评论时间分布
从评论的时间分布来看,自17日发布视频以来,所有17、18日的评论发帖频率较高。不过即使在12.9之后,还是有很多新评论,说明视频的热度确实很高。
评论的长度分布
大部分评论都在20字以内,基本不超过40字,描述都是短文。
审阅者 ID
在参与评论的人中,99.8%的人没有认证身份,也就是说评论用户基本都是普通用户。
3. LDA
上面的统计数据还是太粗略了。但是如果我们想知道每个人都感兴趣的地方,不可能阅读所有 1.2w 的评论。
因此,需要先对这些评论进行分类,相当于提高了维度,抽象了数据。因为只有升级数据,了解每个维度的含义和比例,才能帮助我们从全局的角度把握数据。
这里我使用LDA算法对文本进行聚类,聚合后的评论可以认为属于同一个主题。
LDA算法有两个核心思想:
例如,经过LDA算法聚类后,某个话题中的war、军费等词出现的概率很高,那么我们可以将该话题归类为军事。如果有一个 文章 很有可能是军事主题,我们可以将 文章 归类为军事。
简单介绍了LDA的理论之后,我们再来看看实战。
3.1分词,去除停用词
由于评论中有很多emoji表情,所以我提取了所有emoji表情对应的文本,生成了一个emoji数组,用于过滤表情词。
3.2 调用 LDA
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation
import numpy as np
def run_lda(corpus, k):
cntvec = CountVectorizer(min_df=2, token_pattern='\w+')
cnttf = cntvec.fit_transform(corpus)
lda = LatentDirichletAllocation(n_components=k)
docres = lda.fit_transform(cnttf)
return cntvec, cnttf, docres, lda
cntvec, cnttf, docres, lda = run_lda(df['text_wd'].values, 8)
经过多次实验,最好将数据分为8类。
选择每个主题下出现概率最高的词:
主题词分布
从这些词的概率分布,总结出每个主题的类别。话题0到话题7是:实际阅读,知道钥匙在哪里,住在农村,喂狗,射击技巧,锁门?,鸡蛋放多点盐,袜子放枕头底下。
统计对象比例:
话题比例
红色的是主题3(喂狗),占比最大。很多人评论说:本来以为自己要喂自己,没想到喂狗了。我看到的时候也是这么想的。
其他题材的比例比较均匀。
经过主题分类后,我们可以发现,张某不仅是引起大家关注的农村生活,视频中还有大量的反常场景。
最后用树形图来展示每个主题和对应的具体评论。
看完这篇文章,相信你对《Python如何实现抖音评论数据抓取》有了一定的了解。想了解更多,请关注易宿云行业资讯频道。谢谢阅读!