(转)抖音解析-aardio源码

By admin at 2019-07-26 • 0人收藏 • 2592人看过

感谢: 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 个回复 | 最后更新于 2019-08-02
2019-08-02   #1

下面是jacen分享的代码:

改进了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中的函数

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

登录后方可回帖

登 录
信息栏
 私人小站

本站域名

ChengXu.XYZ

投诉联系:  popdes@126.com



快速上位机开发学习,本站主要记录了学习过程中遇到的问题和解决办法及上位机代码分享

这里主要专注于学习交流和经验分享.
纯私人站,当笔记本用的,学到哪写到哪.
如果侵权,联系 Popdes@126.com

友情链接
Aardio官方
Aardio资源网


才仁机械


网站地图SiteMap

Loading...