Java获取豆瓣电影《毒液:致命守护者》影评信息
Posted 懒惰的星期六
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java获取豆瓣电影《毒液:致命守护者》影评信息相关的知识,希望对你有一定的参考价值。
1 package util; 2 3 import java.io.BufferedReader; 4 import java.io.File; 5 import java.io.FileNotFoundException; 6 import java.io.FileOutputStream; 7 import java.io.IOException; 8 import java.io.InputStreamReader; 9 import java.net.MalformedURLException; 10 import java.net.URL; 11 import java.net.URLConnection; 12 13 import org.jsoup.Jsoup; 14 import org.jsoup.nodes.Document; 15 import org.jsoup.nodes.Element; 16 import org.jsoup.select.Elements; 17 18 public class DataDownUtil { 19 /** 20 * @author UPO 21 * @param url 22 * @param encoding 23 * @return String 网页的源代码 24 * <a href="http://www.baidu.com">百度</a> 25 */ 26 public static String gethtmlResourceByUrl(String url,String encoding){ 27 StringBuffer buffer=new StringBuffer(); 28 URL urlobj=null; 29 URLConnection uc=null; 30 InputStreamReader isr=null; 31 BufferedReader reader=null; 32 try { 33 //建立网络连接 34 urlobj=new URL(url); 35 //打开网络 36 uc=urlobj.openConnection(); 37 //建立文件输入流的对象 38 isr=new InputStreamReader(uc.getInputStream(), encoding); 39 //建立文件缓冲写入流(相当于ctrl+v放入内存中) 40 reader=new BufferedReader(isr); 41 42 //建立临时变量 43 String temp=null; 44 while((temp=reader.readLine())!=null){ 45 buffer.append(temp); 46 buffer.append(" "); 47 } 48 49 } catch (MalformedURLException e) { 50 // TODO Auto-generated catch block 51 e.printStackTrace(); 52 System.out.println("网络连接不可用"); 53 }catch (IOException e) { 54 // TODO Auto-generated catch block 55 e.printStackTrace(); 56 System.out.println("网络连接失败"); 57 }finally { 58 if(isr!=null){ 59 try { 60 isr.close(); 61 } catch (IOException e) { 62 // TODO Auto-generated catch block 63 e.printStackTrace(); 64 } 65 } 66 } 67 return buffer.toString(); 68 } 69 public static String getContext(){ 70 71 String context=null; 72 int start=0; 73 while(start>=0&&start<=20){ 74 75 76 String url="https://movie.douban.com/subject/3168101/comments?start="+start+"&limit=20&sort=new_score&status=P"; 77 String encoding="utf-8"; 78 start=start+20; 79 //1.获取网页源代码 80 String html=getHtmlResourceByUrl(url, encoding); 81 //System.out.println(html); 82 //2. 83 Document document=Jsoup.parse(html); 84 Element element=document.getElementById("comments"); 85 Elements elements=element.getElementsByClass("comment-item"); 86 for (Element ele : elements) { 87 //https://movie.douban.com/subject/3168101/comments?start=20&limit=20&sort=new_score&status=P 88 String name=ele.getElementsByTag("a").last().text(); 89 String desc=ele.getElementsByClass("short").text(); 90 String time=ele.getElementsByClass("comment-time").text(); 91 String votes=ele.getElementsByClass("votes").text(); 92 System.out.println(" name:"+name+" desc:"+desc+" time:"+time+" votes:"+votes); 93 context=" name:"+name+" desc:"+desc+" time:"+time+" votes:"+votes; 94 } 95 } 96 return context; 97 } 98 99 public static void writeFileByLine(String content,String filePath){ 100 File file=new File(filePath); 101 try { 102 FileOutputStream out=new FileOutputStream(file); 103 out.write(content.getBytes()); 104 } catch (FileNotFoundException e) { 105 // TODO Auto-generated catch block 106 e.printStackTrace(); 107 } catch (IOException e) { 108 // TODO Auto-generated catch block 109 e.printStackTrace(); 110 } 111 } 112 113 public static void main(String[] args) { 114 System.out.println("你好阿泡"); 115 System.out.println(getContext()); 116 117 118 119 } 120 121 }
以上是关于Java获取豆瓣电影《毒液:致命守护者》影评信息的主要内容,如果未能解决你的问题,请参考以下文章