php 爬取抖音评论数据
1.安装抓包工具(filder)和模拟器(夜神模拟器),可参考博文:https://blog.csdn.net/weixin_42223833/article/details/110009432。安装包和详细配置都有。
注意:抖音有ssl验证,夜神模拟器安装xposed和JustTrustMe之后,才能正常抓包,不然打开抖音是没有网的。
2.破解X-grogon签名算法。因为抖音有签名验证机制,要想直接使用抖音接口,必须破解签名算法!这里有能力的大佬可以通过反编译APP去破解,当然我是没有这个能力的,只能通过抓包工具把数据下载下来。
配置filder下载数据包:
static function OnBeforeResponse(oSession: Session) { if (m_Hide304s && oSession.responseCode == 304) { oSession["ui-hide"] = "true"; } //将关键接口标青色,只能是域名 if (oSession.HostnameIs("ihotel.meituan.com")) { oSession["ui-color"] = "#00FFFF"; } //抓取接口的数据 if (oSession.uriContains("https://ihotel.meituan.com/hbsearch/HotelSearch")){ var strBody=oSession.GetResponseBodyAsString(); var host=oSession.PathAndQuery; //FiddlerObject.alert(host); var begin=host.indexOf('cateId='); var end=host.indexOf('distance='); var name=host.Substring(begin,50); //FiddlerObject.alert(name); var date = new Date(); var seperator1 = "-"; var year = date.getFullYear(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; } if (strDate >= 0 && strDate <= 9) { strDate = "0" + strDate; } var currentdate = year + seperator1 + month + seperator1 + strDate; var filetitle=currentdate + '_' + name; //FiddlerObject.alert(currentdate); var dir="D:/phpstudy_pro/WWW/data/mt/" + currentdate; var filename = dir + "/" + filetitle + ".json"; var curDate = new Date(); var sw : System.IO.StreamWriter; //文件夹不存在,则自动创建 if (!System.IO.Directory.Exists(dir)) { System.IO.Directory.CreateDirectory(dir); } if (System.IO.File.Exists(filename)){ sw = System.IO.File.AppendText(filename); sw.Write(strBody); } else{ sw = System.IO.File.CreateText(filename); sw.Write(strBody); } sw.Close(); sw.Dispose(); }
注意:因为抖音每次只显示20条评论,所以需要通过模拟器的宏操作不断下拉获取下一页数据:
录制一段下拉 的操作,不断执行就好。
3.处理数据
数据已经下载好了,接下来只要处理,提取出自己需要的数据就行了。
这里我使用的是php语言处理数据。
<?php $dir=dirname(__FILE__); $dir=str_replace('\\','/',$dir); $listArr = glob($dir.'/commend/*.json'); $arr=[]; foreach ($listArr as $k=>$file){ $json=file_get_contents($file); $data=json_decode($json,true); //评论 if (!empty($data['comments'])){ $comments=$data['comments']; foreach ($comments as $id=>$comment){ //评论 $text=$comment['text']; //评论的用户 $user=$comment['user']; $nickname=$user['nickname'];//昵称 $signature=$user['signature'];//签名 $avatar=$user['avatar_168x168']['url_list'][1];//头像 $lable=$comment['label_text'];//身份 //评论id $cid=$comment['cid']; //评论时间 $createTme=$comment['create_time']; //视频id $awemeId=$comment['aweme_id']; //数据整合 $arr[$cid]=[ 'awemeId'=>$awemeId, 'text'=>$text, 'nickname'=>$nickname, 'signature'=>$signature, 'avatar'=>$avatar, 'lable'=>$lable, 'createTme'=>$createTme, ]; } } //评论为空则跳出循环 continue; } echo "<pre>"; print_r($arr); echo "</pre>";
♥ 作者:离岸少年
♠ 出处:https://www.cnblogs.com/jackzhuo/
♣ 本博客大多为学习笔记或读书笔记,本文如对您有帮助,还请多推荐下此文,如有错误欢迎指正,相互学习,共同进步。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理