通过爬虫抓取视频
抓取视频下载链接,发送Http请求,读取文件流保存到指定位置即可(只能抓取http|https协议的请求,像迅雷这些抓不了)
package zack;
import java.io.ByteArrayOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
public class DownloadFile {
public static void downLoadFromUrl(String urlStr, String fileName, String savePath) throws IOException
{
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setConnectTimeout(3000);
conn.setRequestProperty("User-Agent",
"Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
InputStream inputStream = conn.getInputStream();
byte[] getData = readInputStream(inputStream);
java.io.File saveDir = new java.io.File(savePath);
if (!saveDir.exists()) {
saveDir.mkdir();
}
java.io.File file = new java.io.File(saveDir + java.io.File.separator + fileName);
FileOutputStream fos = new FileOutputStream(file);
fos.write(getData);
if (fos != null) {
fos.close();
}
if (inputStream != null) {
inputStream.close();
}
}
public static byte[] readInputStream(InputStream inputStream)
throws IOException
{
byte[] buffer = new byte[1024];
int len = 0;
ByteArrayOutputStream bos = new ByteArrayOutputStream();
while ((len = inputStream.read(buffer)) != -1) {
bos.write(buffer, 0, len);
}
bos.close();
return bos.toByteArray();
}
public static void main(String[] args) {
String urlStr="http://vt1.doubanio.com/201712041922/92e1a9bc7c77a12560bd81de20992ee5/view/movie/M/302220748.mp4";
long imageTitile = System.currentTimeMillis();
String fileName = imageTitile + "." + "mp4";
String savePath="F:\\Vidio";
try {
DownloadFile.downLoadFromUrl(urlStr, fileName, savePath);
} catch (IOException e) {
e.printStackTrace();
}
}
}