Java URL未获取整个源

时间:2018-04-02 05:27:35

标签: java url

我试图创建一个简单的项目,用户输入一个URL,然后获取引用的相关信息(作者,标题等)。问题是Java URL库似乎无法获取整个页面源。例如,我将使用链接https://www.cia.gov/library/publications/the-world-factbook/geos/jo.html作为参考。以下是我使用的代码:

import java.net.*;
import java.io.*;
import java.util.ArrayList;
public class URLTester 
{
  private static URL url;
  public URLTester(URL u)
  {
      url = u;
  }

  public static ArrayList <String> getContents() throws Exception
  {
         BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
         String inputLine;
         ArrayList <String> arr = new ArrayList<String>();
         while ((inputLine = in.readLine()) != null)
         {
              arr.add(inputLine);
         }

         in.close();
         return arr;
  }

 public static void main (String args[]) throws Exception
 {
   url = new URL("https://www.cia.gov/library/publications/the-world-factbook/geos/jo.html");
   ArrayList<String> contents = getContents();
   for(int i = 0; i < contents.size(); i++)
   {
     System.out.println((contents.get(i)));

   }


 }
}

这会获取目标页面源的缩短版本。当我按下查看页面来源&#39;在网站上,出现了更加扩展的版本,包括日期和文章作者等信息。我无法在此处粘贴来源,因为它超出了字符数限制。如何获取整个页面源代码而不是缩短版本?

1 个答案:

答案 0 :(得分:0)

问题是由于控制台字符限制超出。 Eclipse中的默认限制为80000个字符。 要更改首选项,请转到窗口 - &gt;偏爱。 然后在左侧菜单中找到Run / Debug。 然后打开并选择Console。 取消选中“限制控制台输出”或根据需要增加限制。 enter image description here