阅读java中的网页源代码与原始网页源代码不同

时间:2017-01-19 10:34:14

标签: java webpage html-content-extraction web-content

我正在尝试实现程序来读取网页源代码并将其保存在文本文件中然后在其中执行一些操作但是当我阅读网页源代码时出现问题,原始网页源代码与输出之间存在差异java程序网页源代码。

我的计划:

        String inputLine;
        URL link = new URL("http://www.ammanu.edu.jo/English/Articles/newsArticle.aspx?id=2935");
        BufferedReader in = new BufferedReader( new InputStreamReader(link.openStream(),"UTF-8"));

        while ((inputLine = in.readLine()) != null){
                System.out.println(inputLine);
        }
        in.close();

和我在这行源代码中的问题

第1156行

原始网页源代码:

<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" style="height:310px;width:400px;border-width:0px;display:block;float:left; padding-right:5px;" />

java程序的实际输出:

<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" height="310" width="400" border="0" style="display:block;float:left; padding-right:5px;" />

针对此问题的任何建议解决方案?

1 个答案:

答案 0 :(得分:1)

您必须为用户设置User-Agent:

con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

完整代码:

    String inputLine;
    URL link = new URL("http://www.ammanu.edu.jo/English/Articles/newsArticle.aspx?id=2935");
    URLConnection con = link.openConnection();
    con.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

    BufferedReader in = new BufferedReader( new InputStreamReader(con.getInputStream(),"UTF-8"));

    while ((inputLine = in.readLine()) != null){
        System.out.println(inputLine);
    }
    in.close();

结果

<img id="img" src="http://www.ammanu.edu.jo/AdminImages/20652935/_DSC0246.jpg" style="height:310px;width:400px;border-width:0px;display:block;float:left; padding-right:5px;" />