node爬虫 怎么检测一个页面中的某段js是否执行了
想写一个爬虫,页面js的执行用electron(类似nightmarejs的实现,起到phantomjs的作用)
页面中本来有一个img他的src值会被js改变
我想获得改变之后的值
我怎么知道这段改变src值得代码到底执行没有呢,img是否显示了新的图片
本来有一段这样的
<img src="...">
<script>
// change img src
</script>
我想获得更改后的,img的二进制数据
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
并不能,你的爬虫取回的只是一个 html,除非你跑一个 PhantomJS
做爬虫一定要用最“直接”的方法来解决问题。
比如你说的有一个动态的img值,那你要获取动态改变之后的值,就应该关注改变的过程本身,而不是顺着一个时间顺序关注整体过程的每一步。
简单来说,是哪个JS文件在改变图片的src,具体又是其中的哪一行?可能JS文件经过压缩合并之后你很难读懂,那就从数据的流动上入手,这个改变之后的src值是和整个document一起获取回来的吗?还是放置在某个JS文件中储存?还是在触发src更改之后,再异步获取然后填充进来的?
只要抓到了你需要的数据,再找到它的规则,比如如何根据主url获得这个改变图片的src,再根据这个规则去直接获取就好了。
模拟浏览器行为有时候也会用到,但大部分情况下不需要。