在爬虫中,我们在爬取某些网页时,需要的数据中有时间日期,静态的网页直接就可以爬取,但碰到动态加载的对应的时间可能就是 js 代码生成的,直接爬取得不到。小编给大家带来了两个例子来爬取对应的时间日期。
丁香医生疫情更新时间
https://ncov.dxy.cn/ncovh5/view/pneumonia
我们打开丁香医生疫情实时更新的网页,我们需要它最后更新的时间,也就是最新的时间:
在网页源码里搜索,发现没有这个时间:
然后再来看,这一页的 html 代码,发现是通过加载 js 文件生成的,同时生成的还有各个地区的数据:
由此得出,这个网页的数据是动态生成的,生成后再渲染到 html 页面里,要是爬取其他数据可以用静态网页的逻辑直接爬取就好,但时间经过观察,也有,但不是直接给明了,而给我们的格式是时间戳,所以直接搜索没有结果,我们找到这个时间戳:
找到以后,我们通过写爬虫访问,这个网页会返回一个动态加载渲染后的 html,需要其他数据都可以很方便的提取,我们正则匹配出时间戳后,用 python 转换为对应的时间:
对比一下,和我们的结果一样了:
至此,我们的动态时间久或得了。
土地市场网
https://www.landchina.com/default.aspx?tabid=261&ComName=default
我们打开这个网站后,禁止 JavaScript 加载,发现我们需要的时间没了,说明是动态加载的:
查看源码,发现是 js 代码生成的:
对于这种,我们也可以用 python 生成:
到这里我们就获得了时间,因为返回的是阿拉伯数字,想转换成中文的星期几,可以写个字典转换。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有