Не могу прочитать HTML с веб-страницы - PullRequest
0 голосов
/ 11 июля 2011

Я пытаюсь получить некоторые данные (HTML-теги) с веб-страницы, но я просто не могу. Почему-то я просто получаю в основном пустые теги.

Это URL: 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 ]

2 голосов
/ 11 июля 2011

Страница в http://www.miamidade.gov/transit/mobile/routes.asp сначала выполняет перенаправление JavaScript на «scriptCheck.asp? Script = yes & CurrentPage = / транзит / mobile / rout.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 голос
/ 11 июля 2011

Попробуй вот так

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

Может быть, для твоей страницы не хватает времени ожидания

...