无法从网页上读取HTML

时间:2011-07-11 09:43:15

标签: java jsoup

我试图从网页上获取一些数据(html标签)但我不能。出于某种原因,我只是得到空标签。

这是网址:http://www.miamidade.gov/transit/mobile/routes.asp

这是我的java代码:

import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
class xyz{
    public static void main (String[] args) throws IOException {
        Document doc =  jsoup.connect("http://www.miamidade.gov/transit/mobile/routes.asp").userAgent(" Mozilla/5.0").timeout(3000).post();
        String title = doc.html();
        System.out.print(title);
    }
}

2 个答案:

答案 0 :(得分:2)

http://www.miamidade.gov/transit/mobile/routes.asp处的页面首先将javascript重定向到“scriptCheck.asp?script = yes& CurrentPage = / transit / mobile / routes.asp?” 。然后,它最终会再次使用您在页面上看到的信息重新加载http://www.miamidade.gov/transit/mobile/routes.asp。 Jsoup似乎没有处理该重定向,因此您的代码获取第一页并返回该HTML,这与您在使用浏览器时看到的HTML不同。也许这就是为什么你找不到你期望的信息。

第一页的源代码

<html>
 <head> 
  <title></title> 
  <script language="JavaScript">
<!--
window.location="scriptCheck.asp?script=yes&CurrentPage=/transit/mobile/routes.asp?";
//-->

  </script>
 </head>  
 <body>
  <noscript> 
   <meta http-equiv="Refresh" content="0;URL=scriptCheck.asp?script=no&amp;CurrentPage=/transit/mobile/routes.asp?" /> 
  </noscript>  
  <noscript> 
   <br /> 
   <br /> 
   <a href="scriptCheck.asp?script=no&amp;CurrentPage=/transit/mobile/routes.asp?">Enter MDT Mobile Services Site</a> 
   <br /> 
   <br /> 
  </noscript>   
 </body>
</html>

答案 1 :(得分:1)

试试这个

Document doc = Jsoup.parse("http://www.miamidade.gov/transit/mobile/routes.asp",10000);
System.out.print(doc.toString());

可能是您的页面超时时间不够