我试图从网页上获取一些数据(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);
}
}
答案 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&CurrentPage=/transit/mobile/routes.asp?" />
</noscript>
<noscript>
<br />
<br />
<a href="scriptCheck.asp?script=no&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());
可能是您的页面超时时间不够