爬取JS加载数据的网站,获取不到网页最终显示的数据

发布于 2022-09-13 00:41:32 字数 932 浏览 29 评论 0

爬取JS加载数据的网站,获取不到网页最终显示的数据

image.png

在网页输入url, 网页显示的数据是0%,但是当鼠标在页面往下滑动的时候,数据开始加载从0%开始变化,最终停在了6%,当我爬取这个数据的时候,实际获取到的还是0%

后面继续查看页面的源代码
发现在源代码的js标签内容中有这样一小段
包含网页内容的元素标签
image.png

请问如何通过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"的内容里
            }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

給妳壹絲溫柔 2022-09-20 00:41:32

可以考虑结合使用selenium

如果

TweenLite.to(numberInitial , .5, {
     score2: 6, # 对score2 重新赋值

这个score2已经是你爬取时已经出现的html或者js文件里面了,这个对应关系存在的话,也可以改为直接用正则获取这个JavaScript里面的变量?

忆离笙 2022-09-20 00:41:32

这个要去分析鼠标移动过程中页面处理,hook相应过程,获取到结果才行,这个不是静态页面,直接爬起没有意义的。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文