感谢http://dy.lujianqiang.com技术支持

文章更新:http://dy.lujianqiang.com这个服务器已经关了,现在没用了

版权归抖音公司所有,该博客只是为交流学习所使用,编译后的内容将24小时内删除

该程序所获取到的内容或视频归Beijing Microlive Vision Technology Co.Ltd公司所有

请浏览到该博客的人若已经编译成可执行文件,请将编译后的内容24小时内删除

若违反到法律,与本博客主Frank_dev无关

若侵犯到贵公司权益请联系我

邮箱:Frank_dev@qq.com

♥下面教如何实现这一功能

先打开vstudio 创建一个工程命名为Trill

namespace Trill
{
partial class Main_Window
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null; /// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
} #region Windows 窗体设计器生成的代码 /// <summary>
/// 设计器支持所需的方法 - 不要修改
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Main_Window));
this.video_player = new AxWMPLib.AxWindowsMediaPlayer();
this.Refresh = new System.Windows.Forms.Timer(this.components);
this.last = new System.Windows.Forms.Button();
this.about = new System.Windows.Forms.Button();
this.message = new System.Windows.Forms.GroupBox();
this.icon = new System.Windows.Forms.PictureBox();
this.ID = new System.Windows.Forms.Label();
this.Message_Text = new System.Windows.Forms.Label();
this.Group = new System.Windows.Forms.GroupBox();
((System.ComponentModel.ISupportInitialize)(this.video_player)).BeginInit();
this.message.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.icon)).BeginInit();
this.Group.SuspendLayout();
this.SuspendLayout();
//
// video_player
//
this.video_player.Enabled = true;
this.video_player.Location = new System.Drawing.Point(, );
this.video_player.Name = "video_player";
this.video_player.OcxState = ((System.Windows.Forms.AxHost.State)(resources.GetObject("video_player.OcxState")));
this.video_player.Size = new System.Drawing.Size(, );
this.video_player.TabIndex = ;
//
// Refresh
//
this.Refresh.Enabled = true;
this.Refresh.Tick += new System.EventHandler(this.Refresh_Tick);
//
// last
//
this.last.Location = new System.Drawing.Point(, );
this.last.Name = "last";
this.last.Size = new System.Drawing.Size(, );
this.last.TabIndex = ;
this.last.Text = "下一个Video";
this.last.UseVisualStyleBackColor = true;
this.last.Click += new System.EventHandler(this.last_Click);
//
// about
//
this.about.Location = new System.Drawing.Point(, );
this.about.Name = "about";
this.about.Size = new System.Drawing.Size(, );
this.about.TabIndex = ;
this.about.Text = "关于";
this.about.UseVisualStyleBackColor = true;
this.about.Click += new System.EventHandler(this.about_Click);
//
// message
//
this.message.Controls.Add(this.icon);
this.message.Controls.Add(this.ID);
this.message.Location = new System.Drawing.Point(, );
this.message.Name = "message";
this.message.Size = new System.Drawing.Size(, );
this.message.TabIndex = ;
this.message.TabStop = false;
this.message.Text = "作品信息:";
//
// icon
//
this.icon.Location = new System.Drawing.Point(, );
this.icon.Name = "icon";
this.icon.Size = new System.Drawing.Size(, );
this.icon.TabIndex = ;
this.icon.TabStop = false;
//
// ID
//
this.ID.AutoSize = true;
this.ID.Location = new System.Drawing.Point(, );
this.ID.Name = "ID";
this.ID.Size = new System.Drawing.Size(, );
this.ID.TabIndex = ;
this.ID.Text = "Data";
//
// Message_Text
//
this.Message_Text.AutoSize = true;
this.Message_Text.Location = new System.Drawing.Point(, );
this.Message_Text.Name = "Message_Text";
this.Message_Text.Size = new System.Drawing.Size(, );
this.Message_Text.TabIndex = ;
this.Message_Text.Text = "Text";
//
// Group
//
this.Group.Controls.Add(this.Message_Text);
this.Group.Location = new System.Drawing.Point(, );
this.Group.Name = "Group";
this.Group.Size = new System.Drawing.Size(, );
this.Group.TabIndex = ;
this.Group.TabStop = false;
this.Group.Text = "评论";
//
// Main_Window
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(, );
this.Controls.Add(this.Group);
this.Controls.Add(this.message);
this.Controls.Add(this.about);
this.Controls.Add(this.video_player);
this.Controls.Add(this.last);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MaximizeBox = false;
this.Name = "Main_Window";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
this.Text = "Trill";
this.Load += new System.EventHandler(this.Main_Window_Load);
((System.ComponentModel.ISupportInitialize)(this.video_player)).EndInit();
this.message.ResumeLayout(false);
this.message.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.icon)).EndInit();
this.Group.ResumeLayout(false);
this.Group.PerformLayout();
this.ResumeLayout(false); } #endregion
private AxWMPLib.AxWindowsMediaPlayer video_player;
private System.Windows.Forms.Timer Refresh;
private System.Windows.Forms.Button last;
private System.Windows.Forms.Button about;
private System.Windows.Forms.GroupBox message;
private System.Windows.Forms.PictureBox icon;
private System.Windows.Forms.Label ID;
private System.Windows.Forms.Label Message_Text;
private System.Windows.Forms.GroupBox Group;
}
}

@然后是C#代码:

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography.X509Certificates;
using System.Text;
using System.Windows.Forms; namespace Trill
{
public partial class Main_Window : Form
{
public Main_Window()
{
InitializeComponent();
} private void Main_Window_Load(object sender, EventArgs e)
{
String video = "https://dy.lujianqiang.com/web"; //MessageBox.Show(video);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(video);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream ResStream = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("utf-8");
StreamReader streamReader = new StreamReader(ResStream, encoding);
var jObject = JObject.Parse(streamReader.ReadToEnd()); var nickname = jObject["nickname"].ToString();
nickname = nickname.Replace("\"", "");
ID.Text = "作者ID:" + nickname; var icon_address = jObject["avatar"].ToString();
icon_address = icon_address.Replace("\"", "");
//icon_address = icon_address.Replace("/", "\\");
//icon_address = icon_address.Replace("https", "http");
//MessageBox.Show(icon_address);
icon.Image = Image.FromStream(System.Net.WebRequest.Create(icon_address).GetResponse().GetResponseStream()); var address = jObject["video"].ToString();
address = address.Replace("\"", "");
address = address.Replace("/", "\\");
address = address.Replace("https", "http");
video_player.URL = address;
video_player.Ctlcontrols.play(); var comments = jObject["comments"].ToString();
comments = comments.Replace(",", "");
comments = comments.Replace("\"", ""); comments = comments.Replace("[", "");
comments = comments.Replace("]", "");
this.Message_Text.Text = comments;
//MessageBox.Show(comments); } private void last_Click(object sender, EventArgs e)
{
String video = "https://dy.lujianqiang.com/web";//json in //MessageBox.Show(video);
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(video);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream ResStream = response.GetResponseStream();
Encoding encoding = Encoding.GetEncoding("utf-8");
StreamReader streamReader = new StreamReader(ResStream, encoding);
var jObject = JObject.Parse(streamReader.ReadToEnd()); var nickname = jObject["nickname"].ToString();
nickname = nickname.Replace("\"", "");
ID.Text = "作者ID:" + nickname; var icon_address = jObject["avatar"].ToString();
icon_address = icon_address.Replace("\"", "");
//icon_address = icon_address.Replace("/", "\\");
//icon_address = icon_address.Replace("https", "http");
//MessageBox.Show(icon_address);
icon.Image = Image.FromStream(System.Net.WebRequest.Create(icon_address).GetResponse().GetResponseStream()); var address = jObject["video"].ToString();//json如何使用
address = address.Replace("\"", "");
address = address.Replace("/", "\\");
address = address.Replace("https", "http");
video_player.URL = address;
video_player.Ctlcontrols.play(); var comments = jObject["comments"].ToString();
comments = comments.Replace(",", "");
comments = comments.Replace("[", "");
comments = comments.Replace("]", "");
comments = comments.Replace("\"", "");//转化符号 this.Message_Text.Text = comments; } private void previous_Click(object sender, EventArgs e)
{ }
private void about_Click(object sender, EventArgs e)
{
MessageBox.Show("这是一个抖音第三方客户端...:]","About");
} private void Refresh_Tick(object sender, EventArgs e)
{
if (video_player.playState == WMPLib.WMPPlayState.wmppsStopped)
{
video_player.Ctlcontrols.play();
}
} }

然后就完成啦,要完整源码的下方网站留言

------------------------------------转载请注明出处

抖音C#版,自己抓第三方抖音网站的更多相关文章

  1. 一篇文章教会你用Python抓取抖音app热点数据

    今天给大家分享一篇简单的安卓app数据分析及抓取方法.以抖音为例,我们想要抓取抖音的热点榜数据. 要知道,这个数据是没有网页版的,只能从手机端下手. 首先我们要安装charles抓包APP数据,它是一 ...

  2. 使用Flutter开发的抖音国际版

    简介 最近花了两天时间研究使用Flutter开发一个抖音国际版. 先上图,个人感觉使用Flutter开发app快得不要不要的额.  两天就基本可以开发个大概出来.   最主要是热更新,太方便实时调整U ...

  3. 第二篇-用Flutter手撸一个抖音国内版,看看有多炫

    前言 继上一篇使用Flutter开发的抖音国际版 后再次撸一个国内版抖音,大部分功能已完成,主要是Flutter开发APP速度很爽,  先看下图 项目主要结构介绍 这次主要的改动在api.dart 及 ...

  4. C#版的抓包软件

    C#版的抓包软件   [创建时间:2015-09-10 22:37:04] NetAnalyzer下载地址 不好意思啊,NetAnalyzer停更有点长了,今天继续填坑^&^ NetAnaly ...

  5. CODEVS——T1332 上白泽慧音 || 洛谷——P1726 上白泽慧音

    http://codevs.cn/problem/1332/|| https://www.luogu.org/problem/show?pid=1726#sub  时间限制: 1 s  空间限制: 1 ...

  6. PHP根据抖音的分享链接来抓包抖音视频

    现在抖音是个很火的短视频平台,上面有许多不错的小视频.今天教大家怎么用PHP技术来获取到抖音上的的内容. 1:打开抖音选中你认为好的视频点击分享,复制链接,然后你会获取到如下的内容: #科比 愿你去的 ...

  7. 要你命3000会员版v20.03_全球抖音模式

    要你命3000是搭配抖音和极其多软件的神器,支持国际版.国内版,可以去除全部限制,无需爬墙,无需拔卡,35个国家/自由切换,真心强大,请务必低调,谢谢合作. 下载地址:https://sansuinb ...

  8. python+fiddler 抓取抖音数据包并下载抖音视频

    这个我们要下载视频,那么肯定首先去找抖音视频的url地址,那么这个地址肯定在json格式的数据包中,所以我们就去专门查看json格式数据包 这个怎么找我就不用了,直接看结果吧 你找json包,可以选大 ...

  9. Fiddler抓取抖音视频

    目录 工具 Fiddler配置 手机端配置 工具 Android 或 ios手机均可 Fiddler 下载地址:https://www.telerik.com/fiddler Windows 操作系统 ...

随机推荐

  1. JAVA数据结构--AVL树的实现

    AVL树的定义 在计算机科学中,AVL树是最先发明的自平衡二叉查找树.在AVL树中任何节点的两个子树的高度最大差别为1,所以它也被称为高度平衡树.查找.插入和删除在平均和最坏情况下的时间复杂度都是.增 ...

  2. 达人篇:3.1.3)FAI 首件检验

    本章目的:了解FAI. 1)定义: FAI: First Article Inspection Report . 汉语译作:首件全尺寸检验报告. 2)目的 制作FAI报告是为了检查成型后的产品尺寸是否 ...

  3. SS7

    在PSTN中各个网络点通过数字信令网交换信息的过程及协议 呼叫流程 SS7 的消息是通过网络点之间的56/64Kbps 的双向通道传送的,这些通道就叫信令链路(signaling links). 信令 ...

  4. UBoot常用命令及内核下载与引导

    一.常用命令 1. 获取帮助 ① help 或 ? 2. 环境变量与相关命令 (1)环境变量 ① bootdely ② baudrate ③ netmask ④ ethaddr ⑤ bootfile ...

  5. Mac显示隐藏的文件夹

    方法一: 第一步:打开「终端」应用程序.第二步:输入如下命令:defaults write com.apple.finder AppleShowAllFiles -boolean true ; kil ...

  6. linux下定时任务的工具crontab的用法

    Linux计划任务工具cron用法详解 linux下大名鼎鼎的计划任务工具crontab的使用介绍baidu.google上多得让人眼花缭乱,本着“天下文章一大抄”的觉悟,加上本人日常工作中总结的使用 ...

  7. Robot Framework_Ride(Run标签)

    前言 我一直在想 Robot Framework 不要 RIDE 可不可以.对于编写测试用例来说,只要掌握 RobotFramework 的语法规则,随便在一个你顺手的编辑器下编写也没问题,甚至效率更 ...

  8. sencha touch dataview 中添加 button 等复杂布局并添加监听事件

    config 中的属性默认都会自动生成   getter   setter  applier  updater 四个方法. applier 在调用  setter 时被调用, updater 在属性值 ...

  9. html中超链接的target属性

    <a> 标签的 target 属性规定在何处打开链接文档.(target就是目标的意思) 一共有(4+1种选择): 用法:<a target="value"> ...

  10. SpringMVC的参数绑定

    一.@RequestMapping注解说明   通过@RequestMapping注解可以定义不同的处理器映射规则. URL路径映射 @RequestMapping(value="/item ...