繁体   English   中英

http在页面加载完成之前获取html

[英]http gets html before page finished loading

我想在这里获得该页面的一些信息

但是会发生什么,有一秒钟。 在页面上加载所以我的http获取加载页面的所有信息而不是加载后的页面。尽管页面没有在加载和查看信息之间重定向。

所以基本上http响应带有加载的html。

您必须使用支持Javascript的Web浏览器 ,并且可以嵌入到Java应用程序中。

只需很少的文档就不容易。 :(

JxBrowser似乎是最简单的解决方案之一,但AFAIK它不是免费的,但你可以尝试询问它们你的项目是否是开源的......

当页面加载以获取实际数据时,该站点正在使用AJAX请求。 与您引用的URL对应的AJAX请求是:

http://forecast.io/forecast?q=51.7589,-0.2343,1370905200&satellites

您会注意到它会生成包含预测数据的JSON响应。

我使用screen-scraper的代理发现了这个,虽然你也可以使用像Charles或HttpFox这样的东西来确定它。 关键是代理网站并确定哪个AJAX请求与您所关注的信息相对应。

当您在浏览器上访问网页时,它会返回html。 html只是文字。 您的浏览器会将其读取并将其呈现在您正在查看的视图中。 这是静态内容。 在html中,你可以嵌入脚本,例如。 javascript,您的浏览器可以运行以发送更多HTTP请求并动态修改此视图。

由于您发送的HTTP请求来自不是浏览器的HTTP客户端(并且不能执行javascript),所以您得到的只是来自HTTP响应的字节,可能只是html。 如果您想要在浏览器中加载的信息,您将必须弄清楚哪些请求检索它以及如何解析它们的响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM