(转)抖音解析-aardio源码

By admin at 24 天前 • 0人收藏 • 338人看过

感谢: aardio编程群 - 面向群编程(2752####88) 提供源码

import string
import inet.http;
import console
import web.rest.jsonLiteClient;
var url = "http://v.douyin.com/h7Wapv/"
var headerTable = {
	["User-Agent"] = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1";
}
var http = ..inet.http()
http.addHeaders = headerTable
var urlText = http.get(url)
var itemId = ..string.match(urlText,"itemId\: ""(\d+)")
var dytk = ..string.match(urlText,"dytk\: ""(\w+)")
var urls = "https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/?item_ids="++itemId++"&dytk="++dytk
var jsonLiteClient = ..web.rest.jsonLiteClient()
var newTable = jsonLiteClient.get(urls)
var spUrl = "https://aweme.snssdk.com/aweme/v1/play/?video_id="++newTable["item_list"][1].video["play_addr"].uri++"&line=0"
var headerTables = {
	["video_id"] = newTable["item_list"][1].video["play_addr"].uri;
	["Connection"] = "Keep-Alive";
	["Accept"] = "*/*";
	["User-Agent"] = "Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)";
	["Host"] = "aweme.snssdk.com";
}
var https = ..inet.http()
https.addHeaders = headerTables
https.disableRedirects()
var urlText,urlTexts = https.get(spUrl)
var ss = ..string.replace(..string.match(urlTexts,"href\=""(.+)""")," ","")
console.log(ss)
string.save("C:\Users\app\Desktop\sas.mp4",http.get(ss))
console.pause(true);

image.png

1 个回复 | 最后更新于 17 天前
17 天前   #1

下面是一鹤校长分享的代码:

改进了web.rest.jsonLiteClient用来直接取302返回的网址:

 import web.rest.jsonLiteClient;
var http = web.rest.jsonLiteClient("Mobile/15A372")
var sns = http.api("https://aweme.snssdk.com/aweme/v1/play/",,`%""`,0x200000/*_INTERNET_FLAG_NO_AUTO_REDIRECT*/)
var ies = http.api("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/")
var douyin = http.api("http://v.douyin.com/",,{
    item_ids = `itemId.+?"(\d+)`;
    dytk = `dytk\:.+?"(\w+)`;
});

var itemInfo = ies.get( douyin["h7Wapv"]() );
var mp4Url = sns.get( 
    video_id=itemInfo["item_list"][1].video["play_addr"].uri;
    line=0;
);

import win.ui;
import mpvPlayer;
var winform = win.form(text="播放器";right=759;bottom=469;bgcolor=0)
var mplayer = mpvPlayer(winform);
mplayer.loadFile(mp4Url);

winform.show(); 
win.loopMessage();

 aardio几乎可以把任意网址直接声明为aardio中的函数

可以看到, 同样实现一样的功能, 更简单了

登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...