1. 程式人生 > >Jsoup——抖音視訊抓取(三)

Jsoup——抖音視訊抓取(三)

楔子

按照前面的步驟下載還有問題。就是下載到的是一個片段。不是完整的內容。經觀察。發現發生了重定向。

解決重定向導致的下載不完整

引用塊內容
這裡寫圖片描述
解決

package cn.zhuzi.douyin.test;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.net.URL;

import org.apache.commons.io.FileUtils;
import org.jsoup.Connection.Response;
import
org.jsoup.Jsoup; import org.junit.Test; public class TestDown { /** * 這個會發生重定向 導致下載不全。使用下面的 */ @Test public void test() { String url = " https://aweme.snssdk.com/aweme/v1/playwm/?video_id=377850b22ae84bc9a7db612f449e27e9&line=0"; Response document; try { document = Jsoup.connect(url).ignoreContentType(true
).timeout(15000000).execute(); BufferedInputStream stream = document.bodyStream(); File downFile = new File("c://heheda.mp4"); FileUtils.copyInputStreamToFile(stream, downFile); } catch (IOException e) { e.printStackTrace(); } } @Test
public void testFR() { String url = " https://aweme.snssdk.com/aweme/v1/playwm/?video_id=377850b22ae84bc9a7db612f449e27e9&line=0"; try { Response response = Jsoup.connect(url).ignoreContentType(true).followRedirects(true).execute(); URL url2 = response.url(); System.out.println(url2); File downFile = new File("c://heheda.mp4"); FileUtils.copyURLToFile(url2, downFile); } catch (IOException e) { e.printStackTrace(); } } }

調整後如下
這裡寫圖片描述

後記

採用 fiddler +jsoup 還是比較方便的。時間主要在使用fiddler對url的分析。