欢迎来到山村网

java获取优酷等视频缩略图

2019-03-02 11:21:55浏览:355 来源:山村网   
核心摘要:  1 import java.io.BufferedReader;  2 import java.io.IOException;  3 import java.io.InputStreamReader;  4 import

  1 import java.io.BufferedReader;

  2 import java.io.IOException;

  3 import java.io.InputStreamReader;

  4 import java.net.MalformedURLException;

  5 import java.net.URL;

  6

  7 import net.sf.json.*;

  8

  9

  10 public class test2 {

  11

  12

  16 public static void main(String[] args) throws IOException {

  17 // TODO Auto-generated method stub

  18 String url = "http://v.youku.com/v_show/id_XMjU0MjI2NzY0.html";

  19 //获取id后面的字符串,也就是"XMjU0MjI2NzY0.html"

  20 int no = url.indexOf("id_");

  21 //获取id值,也就是"XMjU0MjI2NzY0"

  22 String videoId = url.substring(no+3, url.indexOf(".html"));

  23 //获取视频信息数据的URL对象

  24 URL myurl = new URL("http://v.youku.com/player/getPlayList/VideoIDS/"+videoId+"/timezone/+08/version/5/source/out?password=&ran=2513&n=3");

  25 //从URL对象中获取输入流

  26 InputStreamReader isr = new InputStreamReader(myurl.openStream());

  27 //封装

  28 BufferedReader br = new BufferedReader(isr);

  29 //readLine获取文本

  30 String urls = br.readLine();

  31 //关闭流

  32 br.close();

  33 //获取json对象

  34 JSonObject json = JSONObject.fromObject(urls);

  35 //获取json数据(data内)

  36 JSonArray arr = json.getJSonArray("data");

  37 //获取logo的值并打印

  38 System.out.println(JSONObject.fromObject(arr.get(0)).get("logo"));

  39 }

  40

  41 }

  另一种没有用json的方案,比较小白,也是本人第一次的方法。

  1 import java.io.BufferedReader;

  2 import java.io.IOException;

  3 import java.io.InputStreamReader;

  4 import java.net.URL;

  5

  6

  7

  8 public class test1 {

  9

  10

  14 public static void main(String[] args) throws IOException {

  15 // TODO Auto-generated method stub

  16 //设定视频地址

  17 String url = "http://v.youku.com/v_show/id_XMjU0MjI2NzY0.html";

  18 //获取id后面的字符串,也就是"XMjU0MjI2NzY0.html"

  19 int no = url.indexOf("id_");

  20 //获取id值,也就是"XMjU0MjI2NzY0"

  21 String videoId = url.substring(no+3, url.indexOf(".html"));

  22 //获取视频信息数据的URL对象

  23 URL myurl = new URL("http://v.youku.com/player/getPlayList/VideoIDS/"+videoId+"/timezone/+08/version/5/source/out?password=&ran=2513&n=3");

  24 //从URL对象中获取输入流

  25 InputStreamReader isr = new InputStreamReader(myurl.openStream());

  26 //封装

  27 BufferedReader br = new BufferedReader(isr);

  28 //readLine获取文本,然后以"/"切割文本中的信息

  29 String[] urls = br.readLine().split("/");

  30 isr.close();

  31 br.close();

  32 //因为信息数据是固定格式的,所以直接第四个元素肯定是我们所需要的。

  33 String target = urls[3];

  34 //对上面结果继续以"切割

  35 String imgid = target.substring(0,target.indexOf("""));

  36 //拼凑一下,就是我们需要的地址了

  37 String img = "http://g2.ykimg.com/" + imgid;

  38 System.out.println(img);

  39

  42 }

  43

  44 }

(责任编辑:豆豆)
下一篇:

VB 实现简单的热键/快捷键功能

上一篇:

关于IE下AJAX的问题探讨

  • 信息二维码

    手机看新闻

  • 分享到
打赏
免责声明
• 
本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们 xfptx@outlook.com