最近在执行自己的爬虫脚本时候发现以前逆向的接口存在封号问题,大概看了下新版本改动是增加了很多日志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数据包就行,不想写代码可以直接用影刀处理。
【一】.钩子文件的设置和创建(1).打开hooks目录,可以看到有一个post-commit.tmpl文件,这是一个模板文件。复制一份,重命名为post-commit,将其用户组设为www,并设置为可执行。chown www:www post-commitchmod +x post-commit(2...
在安装之前我们先看看官方给出的依赖关系.首先是dll文件和mongodb软件的依赖关系然后是PHP文件和dll的依赖关系我的是phpstudy的集成环境PHP5.4.45 NTS+Apache+Mysql【一】.安装mongodb3.0软件对比依赖关系下载mongodb3.0.msi软件,完整名称:...
1.关机Process.Start("shutdown", "-s -t 0"); 2. 注销 Proc...
public static string GetMD5(string str) { //创建MD5对象 MD5 md5 = MD5.C...
首先网页全部是纯静态的文件,本地测试正常访问,服务器端无法加载CSS,并且无法查看CSS文件的内容。 解决方案:关闭网站的压缩->>静态压缩和动态压缩...
1.文件redis-2.6.14.tar.gz的上传 /home/john/创建rdtar文件夹 上传redis-2.6.14.tar.gz至rdtar文件夹 2.解压文件 cd /home/john/rdtar tar &n...