2011-07-11 79 views
0

我想从网页获取一些数据(html标签),但我不能。出于某种原因,我只是主要是空标签。无法从网页读取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); 
    } 
} 

回答

1

尝试这样

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

可能是超时时间是不够的,你

+1

我没有工作...的

的源代码并为你工作?请让我知道... – skinnycat

+0

是的,我的工作方式。虽然我没有测试它与您的网页 – Rasel

+0

它也适用于我...也谢谢。 – skinnycat

2

页面在http://www.miamidade.gov/transit/mobile/routes.asp首先做一个JavaScript重定向到“s criptCheck.asp?script = yes & CurrentPage =/transit/mobile/routes.asp?“ 。然后,它最终会再次使用您在页面上看到的信息重新加载http://www.miamidade.gov/transit/mobile/routes.asp。 Jsoup似乎无法处理该重定向,因此您的代码会获取第一个页面,并返回该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> 
+0

问题:你是怎么知道页面直接到达的? – skinnycat

+0

它在页面的源代码 – aldrin

+0

我怎么没有看到相同的html代码,你看到了...我使用的是铬合金 – skinnycat