爬取JS加载数据的网站,获取不到网页最终显示的数据
在网页输入url, 网页显示的数据是0%,但是当鼠标在页面往下滑动的时候,数据开始加载从0%开始变化,最终停在了6%,当我爬取这个数据的时候,实际获取到的还是0%
后面继续查看页面的源代码
发现在源代码的js标签内容中有这样一小段
包含网页内容的元素标签
请问如何通过python获取页面上的6%
整个JS加载的逻辑
<h3 class="orange"><span id="number05">30.00</span>%</h3>
补充, 查看了下网页的源代码,略微看了下JS部分
因为对JS完全不熟,只是刚好的JS代码中看到出现了网页内容对应的html元素标签名: class=numnber05
自己理解如下,源码中JS是如何加载6%的数据的
> 1. 定义初始值
var numberInitial = {
scor1: 0,
scor2: 0
}
2. 创建JS函数
TweenLite.to(numberInitial , .5, {
score2: 6, # 对score2 重新赋值
onUpdate: function () {
showScore([$("#number05")], ['score2']) # 这段代码自己猜的意思应该是 将 socre2重新赋值后的数据,赋值给绑定的对应的html元素标签class="number05"的内容里
}
}
可以考虑结合使用selenium
如果
这个score2已经是你爬取时已经出现的html或者js文件里面了,这个对应关系存在的话,也可以改为直接用正则获取这个JavaScript里面的变量?