Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Web浏览器显示正确的值,但当我使用Jsoup时,HTML不会';我没有价值观_Java_Html_Html Parsing_Web Scraping_Jsoup - Fatal编程技术网

Java Web浏览器显示正确的值,但当我使用Jsoup时,HTML不会';我没有价值观

Java Web浏览器显示正确的值,但当我使用Jsoup时,HTML不会';我没有价值观,java,html,html-parsing,web-scraping,jsoup,Java,Html,Html Parsing,Web Scraping,Jsoup,我试图从站点获取一些值,但这些值仅在我使用浏览器(如Mozilla)时显示。当我使用Jsoup时,我可以从站点获取HTML,但是没有值,只有标记 这是我试图解析的站点: 我正在尝试获取这些span标记中显示的值: 如果我从web浏览器访问上一个URL,我可以看到以下值:''R$2634,22'和'R$2634,22',但当我使用以下代码时,这些值将消失 URL url = new URL("http://www.submarinoviagens.com.br/Passagens/selec

我试图从站点获取一些值,但这些值仅在我使用浏览器(如Mozilla)时显示。当我使用Jsoup时,我可以从站点获取HTML,但是没有值,只有标记

这是我试图解析的站点:

我正在尝试获取这些span标记中显示的值:

如果我从web浏览器访问上一个URL,我可以看到以下值:''R$2634,22'和'R$2634,22',但当我使用以下代码时,这些值将消失

URL url = new URL("http://www.submarinoviagens.com.br/Passagens/selecionarvoo?Origem=nat&Destino=mia&Data=05/11/2012&Hora=&Origem=mia&Destino=nat"+
            "&Data=09/11/2012&Hora=&NumADT=1&NumCHD=0&NumINF=0&SomenteDireto=0&Cia=&SelCabin=&utm_source=&utm_medium=&utm_campaign=&CPId=");
Document doc =  Jsoup.parse(url, 100000);
String title = doc.title(); 
System.out.println(doc.toString());
如果我试图通过Mozilla Firefox查看源代码,这些值也会消失。 但是如果我使用firebug插件,我可以看到它们


谢谢你的帮助

该网站使用JavaScript填充您试图解析的所有值。您必须使用一个可以计算页面内javascript的库。但不确定是否有


还有其他人吗?

是一个无头浏览器,可以呈现Javascript,应该能够正确显示此页面。

谢谢,我会努力找到它!谢谢他,我用了HTMLUnit,它成功了。问题在于javascript。所以,我告诉HTMLUnit等待背景JavaScript,现在就可以得到值了。但是我怎样才能强迫Jsoup或Jericho等待javascript呢。你能用Jsoup或Jericho来做这件事吗?我用的代码是:final-WebClient-WebClient=new-WebClient(BrowserVersion.FIREFOX\u 3\u 6);setAjaxController(新的NicelyResynchronizingAjaxController());webClient.waitForBackgroundJavaScript(10000);final HtmlPage=webClient.getPage(“);webClient.waitForBackgroundJavaScriptStartingBefore(10000);我不知道Jericho的情况,但Jsoup解析静态HTML,即运行Javascript后可能由HtmlUnit输出的HTML。但是您可以使用HtmlUnit进行提取,您不需要Jsoup。