Jsoup——抖音視訊抓取(三)
阿新 • • 發佈:2019-02-06
楔子
按照前面的步驟下載還有問題。就是下載到的是一個片段。不是完整的內容。經觀察。發現發生了重定向。
解決重定向導致的下載不完整
解決
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的分析。