尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

抖音评论采集工具软件|源码开发|爬虫

抖音评论采集工具软件|源码开发|爬虫 抖音评论采集工具系统源代码构架一 背景介绍为什么要做这个系统运营痛点、手动整理评论的低效目标自动化提取、分类 、分析评论内容采集视频名称视频地址作者昵称作者地址评论人昵称评论内容评论时间评论地区评论人首页地址评论人二维码成品客户端截图二 技术选型2.1采用开发语言C# 用这个语言 方便适配WINDOWS操作系统2.2系统采用网络架构不用单机版通过云服务器节点进行提取和采集评论和视频相关信息。2.3数据库采用SQLSERVER来进行数据存储三系统包含3.1客户端3.2服务端3.3管理后台四实现目标4.1通过关键词搜索进行评论采集和提取4.2通过博主的分享链接提取和采集当前博主的视频和评论提取4.3通过单视频的分享链接进行采集评论五采集内容目标这里讲解整个系统中 都需要采集什么内容采集视频ID,视频名称视频作者名称视频地址对应视频中的评论内容评论人昵称评论时间评论地区六关于通过AI分析评论七用到的函数类型与方法结构7.1自动化控制类7.2页面滚动与加载控制函数7.3数据处理类符串清洗函数正则、去除表情符号文分词方法如调用 JiebaNet 分词库关键词统计与排序方法八服务端提取流程8.1关键词搜索自动操作获取视频ID8.2将抖音视频数据ID存入数据库8.3将ID拼接成抖音视频地址8.3将拼接的地址进行自动化加载视频8.4通过标签获取视频相关信息8.5自动化点击评论按钮8.5自动化下拉评论 加载评论8.6通过标签获取 有多少个评论容器8.5通过循环读取容器中的 小标签来获取评论相关信息8.6获取评论用正则表达式来解析开始↓关键词搜索自动操作↓提取视频ID↓将视频ID存入数据库↓拼接成完整视频地址↓自动化加载视频页面↓通过标签获取视频信息如标题、作者等↓自动点击评论按钮↓自动下拉页面加载评论↓获取评论容器数量↓循环读取每个评论容器↓通过小标签提取评论内容↓使用正则表达式解析评论文本↓存入数据库 / 进行后续分析↓结束九代码片段9.1关键词搜索提取视频ID代码片段int video_id_data_count 0;string htmlContent chromeBrowser.GetSourceAsync().Result;jieshu htmlContent;string input htmlContent;string input1 input;// li classMgWTwktU B9KMVC9Astring pattern li class\SwZLHMKk SEbmeLLH\(.*?)/li;// string pattern li class\HN50D2ec Z3LKqldT\(.*?)/li;// string pattern li class\MgWTwktU B9KMVC9A\(.*?)/li;// string pattern li class\MgWTwktU search-result-card B9KMVC9A\(.*?)/li;MatchCollection matches Regex.Matches(input1, pattern);foreach (Match match in matches){string aaaaa match.Groups[1].Value;string url aaaaa;string pattern1 \/video\/(\d);Match match1 Regex.Match(url, pattern1);if (match1.Success){string id match1.Groups[1].Value;string li_id ;int li_count 0;// while (li_countlistBox1.Items.Count)OleDbCommand comm new OleDbCommand(select count (*) from video_id where xnumbers t_xnumbers.Text.Trim() and mess id , ole_con);ole_con.Open();OleDbDataReader dr comm.ExecuteReader();if (dr.Read()){try{video_id_data_count Convert.ToInt32(dr.GetValue(0));}catch{video_id_data_count 0;}}ole_con.Close();if (video_id_data_count 0){OleDbCommand comm1 new OleDbCommand(insert into video_id (mess,xnumbers) values ( id , t_xnumbers.Text.Trim() ), ole_con);ole_con.Open();comm1.ExecuteNonQuery();ole_con.Close();listBox1.Invoke(new MethodInvoker(() {string li_name ;int count_li_d 0;SqlCommand comm6_1 new SqlCommand(select count (*) from li_d where username t_username.Text.Trim() , conn);conn.Open();SqlDataReader dr_61 comm6_1.ExecuteReader();if (dr_61.Read()){try{count_li_d Convert.ToInt32(dr_61.GetValue(0));}catch{count_li_d 0;}}else{count_li_d 0;}conn.Close();if (count_li_d 0){SqlCommand comm6 new SqlCommand(select name,id from li ORDER BY NEWID() , conn);conn.Open();SqlDataReader dr6 comm6.ExecuteReader();if (dr6.Read()){li_name dr6.GetString(0).Trim();}conn.Close();}else{SqlCommand comm6 new SqlCommand(select name,id from li_d where username t_username.Text.Trim() ORDER BY NEWID() , conn);conn.Open();SqlDataReader dr6 comm6.ExecuteReader();if (dr6.Read()){li_name dr6.GetString(0).Trim();}conn.Close();}//else//{// SqlCommand comm6 new SqlCommand(select name,id from li1 ORDER BY NEWID() , conn);// conn.Open();// SqlDataReader dr6 comm6.ExecuteReader();// if (dr6.Read())// {// li_name dr6.GetString(0).Trim();// }// conn.Close();//}int li 0;if (t_username.Text.Trim() he){li 1;}else{li 0;}SqlCommand comm2 new SqlCommand(insert into video_id (username,xnumbers,video_id,li_name,dingshi,li) values ( t_username.Text.Trim() , t_xnumbers.Text.Trim() , id , li_name.Trim() ,dingshi.Trim (),li), conn);conn.Open();comm2.ExecuteNonQuery();conn.Close();SqlCommand comm3 new SqlCommand(update mission set shipin_countshipin_count1 where xnumbers t_xnumbers.Text.Trim() , conn);conn.Open();comm3.ExecuteNonQuery();conn.Close();}));}// listBox1.Items.Add(id);//添加listview// add_video_sousuo(id);}}9.2关键词搜索视频筛选视频时间区间代码片段if (htmlContent.Contains(jjU9T0dQ))//悬停筛选条件{//可筛选//鼠标悬停进行筛选shaixuan_xuanting 1;string script var element document.querySelector(.jjU9T0dQ); var event new MouseEvent(mouseover, { bubbles: true }); element.dispatchEvent(event);;chromeBrowser.ExecuteScriptAsync(script);Thread.Sleep(3000);if (t_shaixuan.Text.Trim() 一天内){shaixuan_dianji_yitiannei();Thread.Sleep(3000);}if (t_shaixuan.Text.Trim() 一周内){shaixuan_dianji_yizhou();Thread.Sleep(3000);}if (t_shaixuan.Text.Trim() 半年内){shaixuan_dianji_bannian();Thread.Sleep(3000);}//string html1 chromeBrowser2.GetSourceAsync().Result;}private void shaixuan_dianji_yitiannei()//一天内{string script1 var latestRelease Array.from(document.querySelectorAll(.eXMmo3JR)).find(el el.textContent.trim() 一天内);if (latestRelease) {latestRelease.click();} else {console.log(Element not found);};chromeBrowser.EvaluateScriptAsync(script1);}private void shaixuan_dianji_yizhou()//一周内{string script1 var latestRelease Array.from(document.querySelectorAll(.eXMmo3JR)).find(el el.textContent.trim() 一周内);if (latestRelease) {latestRelease.click();} else {console.log(Element not found);};chromeBrowser.EvaluateScriptAsync(script1);}private void shaixuan_dianji_bannian()//一天内{string script1 var latestRelease Array.from(document.querySelectorAll(.eXMmo3JR)).find(el el.textContent.trim() 半年内);if (latestRelease) {latestRelease.click();} else {console.log(Element not found);};chromeBrowser.EvaluateScriptAsync(script1);}————————————————版权声明本文为CSDN博主「爬虫抖音视频评论抓取」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。原文链接https://blog.csdn.net/2503_92160904/article/details/158664718
返回列表