当前位置:首页 > 大杂烩 > 正文内容

通过VUE管理的DOM对象进行爬取数据

高老师2年前 (2025-05-17)大杂烩523

最近在执行自己的爬虫脚本时候发现以前逆向的接口存在封号问题,大概看了下新版本改动是增加了很多日志event来检测我的行为是否合法,懒得再去改了,直接换真实浏览器加载页面,然后获取vue单页面的data变量数据。通过js获取有两种思路。


思路一是提取全局变量,

比如它的网站是用的nuxt,那么所有的变量都在挂载在windows下面,例如window.$nuxt,但是window.$nuxt实在太大了,去递归的时候浏览器为了性能问题跳过了。


思路二通过VUE绑定的DOM元素来查询,我们找到1个1元素绝对是VUE绑定的元素来进行测试,比如页面最小单位渲染的class,代码如下:

const element = document.querySelector('.qusetion-title'); 
if (element && element.__vue__) {
  const componentInstance = element.__vue__;
  console.log(componentInstance.$data); 
  console.log(componentInstance.$data.root.data);
} else {
  console.log('未找到对应的 Vue 组件实例。');
}

找到最小节点后可以继续向上找进行尝试,例如

const element = document.querySelector('.qusetion-title').parentElement.parentElement.parentElement


另外一种思路就是使用谷歌无头浏览器进行加载,然后监听浏览器的Fetch/XHR数据包就行,不想写代码可以直接用影刀处理。


扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/888.html

分享给朋友:

“通过VUE管理的DOM对象进行爬取数据” 的相关文章

PHP安装mongodb扩展

PHP安装mongodb扩展

在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...

Application的错误使用

Application的错误使用

Application 对象用于存储和访问来自任意页面的变量,类似 Session 对象。不同之处在于所有的用户分享一个 Application 对象,而 session 对象和用户的关系是一一对应的。很多的书籍中介绍的Application对象都喜欢以统计在线人数来介绍Application 对象...

Git从远程仓库更新文件

Git从远程仓库更新文件

 git   pull  https://git.oschina.net/392223903/learn.git   master   换为您的git地址...

Git日志查看和版本切换

Git日志查看和版本切换

日志查看:git log版本切换:方式1:git  reset  --hard  HEAD^   倒退一个版本git  reset  --hard  HEAD^^  倒退两个版本方式2:(版本号的形式,建议版本号码补充完...

navicat for mysql 11.1.13 企业破解版

navicat for mysql 11.1.13 企业破解版

navicat for mysql 11.1.13 企业破解版.绿色软件免安装,请直接打开安装说明.一定要看说明.下载地址:          http://pan.baidu.com/s/1dFINxNN下载链接失效,直接点击上方QQ呼叫...

sql注入的检测

sql注入的检测

SQL注入是因为开发者没有过滤GET/POST的参数导致参数传入mysql语句拼接成注入语句导致.网上很多作者使用and 1=1   and 1=2来检测是否可以注入.例如http://xxxxxx.com/ProductShow.asp?articleid=143(详细地址不透漏.)Pr...