抖音xgorgon還有設備參數生成算法
xgorgon有了他做什么用呢?
可以獲取用戶所有作品列表
獲取抖音搜索熱門列表
獲取正在直播的用戶購物車數據
獲取抖音 粉絲列表
如果老同一個設備去請求 就會請求不到數據, 而設備算法 就是讓你去頻繁去請求的時候。
下面就是部分代碼示例,需要算法可以在向我發送郵件。640220844@qq.com





在分享一下抖音的去水印代碼解析,當然不只是這一種寫法,還有很多種,你要了解他的原理。
@PostMapping("geturl")
public DataResponse decodeDouiyin(@RequestBody DouyinRequest req ) throws IOException{
DataResponse dataResponse=new DataResponse();
//String url1 ="#在抖音,記錄美好生活#是你,是你,還是你! http://v.douyin.com/xj4Agk/ 復制此鏈接,打開【抖音短視頻】,直接觀看視頻!";
//過濾鏈接,獲取http連接地址
String finalUrl = decodeHttpUrl(req.getData().getLinkUrl());
//1.利用Jsoup抓取抖音鏈接
//抓取抖音網頁
String htmls = Jsoup.connect(finalUrl).ignoreContentType(true).execute().body();
//2.利用正則匹配可以抖音下載鏈接
//playAddr: "https://aweme.snssdk.com/aweme/v1/playwm/?video_id=v0200ffc0000bfil6o4mavffbmroeo80&line=0",
//具體匹配內容格式:「https://aweme.snssdk.com/aweme/...line=0」
Pattern patternCompile = Pattern.compile("(?<=playAddr: \")https?://.+(?=\",)");
//利用Pattern.compile("正則條件").matcher("匹配的字符串對象")方法可以將需要匹配的字段進行匹配封裝 返回一個封裝了匹配的字符串Matcher對象
//3.匹配后封裝成Matcher對象
Matcher m = patternCompile.matcher(htmls);
//4.①利用Matcher中的group方法獲取匹配的特定字符串 ②利用String的replace方法替換特定字符,得到抖音的去水印鏈接
String matchUrl ="";
while(m.find()) {
matchUrl = m.group(0).replaceAll("playwm", "play");
}
//5.將鏈接封裝成流
//注:由於抖音對請求頭有限制,只能設置一個偽裝手機瀏覽器請求頭才可實現去水印下載
Map<String, String> headers = new HashMap<>();
headers.put("Connection", "keep-alive");
headers.put("Host", "aweme.snssdk.com");
headers.put("User-Agent", "Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 Version/12.0 Safari/604.1");
headers.put("Content-Encoding","gzip");
//7.利用Joup獲取視頻對象,並封裝成一個輸入流對象
//BufferedInputStream in = Jsoup.connect(matchUrl).headers(headers).timeout(10000).ignoreContentType(true).execute().bodyStream();
byte[] ins = Jsoup.connect(matchUrl).maxBodySize(6000000).headers(headers).timeout(15000).ignoreContentType(true).execute().bodyAsBytes();
String filename=req.getSign()+".mp4";
//UploadUtil.uploadFile(filename,in);
//8.保存文件到指定位置
File fileParent= new File("/home/ftpimages/images/");
fileParent.setWritable(true, false);
if(!fileParent.exists()){
fileParent.mkdirs();
}
File file= new File("/home/ftpimages/images/"+filename);
file.createNewFile();
BufferedOutputStream out =
new BufferedOutputStream(
new FileOutputStream(file));
//copyFile(in,out);
out.write(ins,0,ins.length);
out.flush();
out.close();
//in.close();
dataResponse.setVideoUrl("/images/"+filename);
return dataResponse;
}
需要上述微信小程序前端源碼的朋友可以發郵件找我索要 640220844@qq.com