如何用phantomjs去抓取js渲染后的页面

JavaScript0125

如何用phantomjs去抓取js渲染后的页面,第1张

如何用phantomjs去抓取js渲染后的页面

phantomjs因为是无头浏览器可以跑js,所以同样可以跑dom节点,用来进行网页抓取是再好不过了。

比如我们要批量抓取网页 “历史上的今天” 的内容。网站

对dom结构的观察发现,我们只需要取到 .list li a的title值即可。因此我们利用高级选择器构建dom片段

var d= ''

var c = document.querySelectorAll('.list li a')

var l = c.length

for(var i =0i<li++){

d=d+c[i].title+'\n'

}

很显然从后端返回的是一个图片路径,那么你要做的就是把这个路径塞进img的src里面,如:<img src="路径"/>

实现步骤:1.先在html里面定义一个img标签<img src=""/>

2.一般情况下图片地址是一个变量,也就是说首先将后端返回的地址保存在一个变量中,如:var imgsrc = res.data.otherImg(根据接口实际情况获取,我这里只是举例)

2.通过js把地址塞进img里面,如: $('img').attr('src', imgsrc)

这样就能把图片渲染出来了。