Я пытаюсь сделать программу, которая может загружать видео Youtube в виде файлов MP3. Я использовал этот сайт youtube-mp3.org, чтобы достичь этого. Итак, я загрузил контент www.youtube-mp3.org/?c#v=stbd2e2eytk, где stbd2e2eytk-это идентификатор видео, теперь мне нужно получить ссылку на файл mp3 (в данном случае http: //www.youtube-mp3.org/get? Видео_ид .....), но нет ссылки в загруженном контенте. Я заметил, что инструменты разработчиков Chrome (CTRL+Shift+J, Tab Elements) показывают, что ссылка и параметр «Источник» (CTRL+U) в Chrome дает мне тот же результат, который я получаю, загружая страницу с использованием Java. Как я могу получить эту ссылку?
Я попытался извлечь данные, используя JSOAP, но те данные, которые мне нужны, не загружаются на странице немедленно, поэтому я не могу их получить. 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());
< /code>
Я использовал этот метод для получения файла, но мне нужна ссылка .. < /p>
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();
}
Подробнее здесь: https://stackoverflow.com/questions/124 ... g-web-site