使用Jsoup爬取腾讯视频的URL地址

Jsoup是Java提供解析HTML的工具,可以轻松的从网页里爬取自己想要的数据。Jsoup的操作类似于JavaScript一样,通过使用DOM或CSS选择器来查找、取出数据。下面的代码实现了自定义关键字搜索来爬取腾讯视频的URL地址。

  1. public static void main(String[] args) {
  2. // TODO Auto-generated method stub
  3. Scanner input = new Scanner(System.in);
  4. try {
  5. System.out.print("搜索关键字:");
  6. String name = input.next();
  7. String url = "https://v.qq.com/x/search/?q="+name;
  8. System.out.println("搜索中,请耐心等待。。。");
  9. Document doc = Jsoup.connect(url).get();
  10. Elements to_url = doc.getElementsByClass("_infos");
  11. // String title = doc.getElementsByClass("result_title").select("a").first().select("em").text();
  12. // Elements e = doc.getElementsByClass("_playlist").get(1).getElementsByClass("item").select("a");
  13. // for (int i = 0; i < e.size()-1; i++) {
  14. // System.out.println(e.get(i).html()+"\t"+e.get(i).attr("href"));
  15. // }
  16. if(to_url.size() < 1){
  17. System.out.println("没有搜索结果!");
  18. return;
  19. }
  20. for(int i = 0;i < to_url.size();i++){
  21. Elements title = to_url.get(i).getElementsByClass("result_title");
  22. Elements e = null;
  23. Document doc2 = Jsoup.connect(title.select("a").get(0).attr("href")).get();
  24. System.out.print(title.select("a").first().text()+"\t来源:");
  25. if(doc2.getElementsByClass("detail_video") != null && doc2.getElementsByClass("detail_video").size() > 0){
  26. System.out.println(doc2.getElementsByClass("detail_video").first().getElementsByClass("_playsrc_list").first().getElementsByClass("icon_text").first().text());
  27. }
  28. // System.out.println(title.select("a").first().getElementsByClass("type"));
  29. if(title.select("a").first().getElementsByClass("type").text().equals("电影")){
  30. System.out.println(title.select("a").first().attr("href"));
  31. }else{
  32. e = doc2.getElementsByClass("site_container container_main").first().getElementsByClass("mod_episode").first().getElementsByClass("item");
  33. for (int j = 0; j < e.size(); j++) {
  34. System.out.println(e.get(j).select("a").first().select("span").first().html()+"\t"+e.get(j).select("a").attr("href"));
  35. }
  36. }
  37. }
  38. } catch (IOException e) {
  39. // TODO Auto-generated catch block
  40. e.printStackTrace();
  41. }finally{
  42. input.close();
  43. }
  44. }

此条目是由 毅哥哥 发表在 记录 分类目录的 ,并贴了   标签

转载请注明作者和出处(小毅博客),并添加本页链接
原文链接: http://owexz.net/post/20

使用Jsoup爬取腾讯视频的URL地址》上有 0 条评论


必填项已用*标注