我想製作的程序,可以下載YouTube視頻作爲MP3文件。我用這個網站youtube-mp3.org爲了達到目的。所以,我下載了www.youtube-mp3.org/?c#v=sTbd2e2EyTk的內容,其中sTbd2e2EyTk是視頻ID,現在我必須鏈接到mp3文件(在這種情況下爲http://www.youtube-mp3.org/get?video_id.....),但下載的內容中沒有鏈接。我注意到chrome開發人員工具(ctrl + shift + j,tab Elements)顯示chrome中的鏈接和查看源(ctrl + u)選項給了我使用java下載頁面的相同結果。我如何獲得該鏈接? 我試圖使用JSoap獲取數據,但我需要的那些數據沒有立即加載到頁面上,所以我無法獲取它們。YouTube使用網站的mp3轉換
下一個代碼是用於下載網頁的內容...
URL tU = new URL("http://www.youtube-mp3.org/?c#v=sTbd2e2EyTk");
HttpURLConnection conn = (HttpURLConnection) tU.openConnection();
InputStream ins = conn.getInputStream();
BufferedReader rd = new BufferedReader(new InputStreamReader(ins));
String line;
StringBuffer content = new StringBuffer();
while ((line = rd.readLine()) != null) {
content.append(line);
}
System.out.println(content.toString());
我用這個方法得到的文件,但我需要鏈接..
private static void downloadStreamData(String url, String fileName) throws Exception {
URL tU = new URL(url);
HttpURLConnection conn = (HttpURLConnection) tU.openConnection();
String type = conn.getContentType();
InputStream ins = conn.getInputStream();
FileOutputStream fout = new FileOutputStream(new File(fileName));
byte[] outputByte = new byte[4096];
int bytesRead;
int length = conn.getContentLength();
int read = 0;
while ((bytesRead = ins.read(outputByte, 0, 4096)) != -1) {
read += bytesRead;
System.out.println(read + " out of " + length);
fout.write(outputByte, 0, bytesRead);
}
fout.flush();
fout.close();
}
在GitHub上無編號:-( – Hanry
你是如何通過自己的YouTube視頻的網址,該網站以獲取此響應信息? – Markoe7
代碼不再可用,您是否還有您的代碼? –