如何检查网页是静态的还是动态的

时间:2015-08-01 19:48:43

标签: java html jsoup

我正在做一些网页抓取并使用Jsoup来解析html文件,我的理解是Jsoup与动态网页不兼容。有没有办法检查网页是否是动态的,以便我不打算尝试使用Jsoup解析它?

2 个答案:

答案 0 :(得分:2)

简短回答:不是。您需要逐个检查

说明: 今天的网站充满了ajax电话。许多人正在加载重要数据,其他人只有在抓取网站内容时才会非常有趣。许多非常现代的网站都做到了这两点,他们将完整的渲染页面发送到客户端,在那里它被转换为web-app(关键字同构渲染)

因此,您需要逐个检查有问题的网站。虽然不是那么难。只需启动Curl,看看你是否得到了你需要的内容。如果没有,通常也不难理解ajax调用的结构和参数。如果你这样做,那么你通常只用Jsoup即可获得动态内容。

答案 1 :(得分:-2)

您无法确定100%网站是dynamic还是static,因为有多种方法可以隐藏显示网站dynamic的线索。但您可以检查有限数量的 HTTP响应标头以测试其动态或静态:

Cookie以前由服务器使用Set-Cookie发送的HTTP Cookie

X-Csrf-Token用于防止跨站点请求伪造。备用标题名称为:X-CSRFToken和X-XSRF-TOKEN

X-Powered-By指定支持Web应用程序的技术(例如ASP.NET,PHP,JBoss)(版本详细信息通常在X-Runtime,X-Version或X-AspNet-Version中)

这些是3个HTTP头,服务器脚本涉及生成(据我所知)

同样可能的是,具有表单相关元素的网页应该具有处理表单数据的服务器端机制。