动态渲染爬虫超简单方法分享–豆瓣
最近需要一些电视剧数据,找来找去发现还是豆瓣的数据比较全,于是就想这怎么写个脚本获取一下,打开豆瓣的pc官网电视剧板块捣鼓的半天,发现它没有用分页的方式展示数据,而是用的动态加载,需要滑动到底部,点击按钮才能继续获取。
然后想着肯定是调用接口实现的,直接爬接口不就行了,打开调试台后,发现接口用的都不是明文,还要解密太麻烦了,只能继续研究,没想到这个时候意外按到了chrome
的ctrl+s
,将保存网页到本地功能,保存之后,在本地打开发现,保存下来的html文件里面有着 所有动态加载完的数据,那我岂不是只要先在chrome
里面让网页全部动态加载完,然后再一保存到本地,数据不就获取到了,
完美~
下面介绍方法以豆瓣为例,其他动态加载的网页没试过,估计也能用:
先打开豆瓣电视分区
https://movie.douban.com/tv/
然后选择到分类
接着按下f12
,打开调试控制台输入以下代码,回车后等待大概四五十秒
setInterval(()=>{
document.querySelector(".explore-more button").click()
}, 1500);
等待全部数据动态记载完后,滑动滚动条到底部,检查是否加载完毕,加载完了就可以ctrl+s
保存数据了,保存后你会发现,不仅网页数据被保存了,相关的静态资源图片、css也都给保存,这样电视局的基础数据就都获取到了,如果还需要详情信息那还是需要进一步写爬虫的。
保存下来的html文件可以直接用cherrio
读取然后就可以获取数据。
- 注意一定要等浏览器保存完毕,否则可能会出现html没用保存成功的情况
随便分享一下,文笔不好的地方请见谅~
cherrio
是nodejs npm的库,非常好用;