在爬取网站时常遇到异步加载的情况,必须点击或者下拉滚动条才会加载出更多的图片或视频,在源码中却一片空白,我一开始遇到时候也有点懵,了解了就好,还是请求。学过一些前端知识的朋友都清楚其实就是ajax异步加载js,这是为了提高用户的体验,许多网站都使用这种方法。
究其根本,其实就是将这部分请求放在了后台,查看的话,按F12然后F5刷新页面,在Network标签下都会显示出来,比如下面这个网站。
随便点一个发现看下啥情况
好吧,其实就是个get请求罢了,只是将正常的点击翻页查询变成了下拉查询,多了一步数据加载罢了但本质上还是一些url按顺序增加页数,也就是说不用管外面的网站链接,直接找到翻页的js的链接,把它当做源码,直接获得对应页面里的图片或视频链接(可能需要拼接),嗯,还有修改js链接里哪个参数可以达到翻页效果。
对了,上图的js内容是浏览器美化后的,实际效果如下图,,,哈哈,没法看是吧,想用正则或xpath之类匹配其中需要的信息前最好把内容复制js美化工具的网页中点击美化会规范排列滴,然后再分析匹配。
直接百度 js美化工具 就好,有很多,推荐个我常用的https://tool.lu/js/,请看效果图
搞定,收工~