当我们使用php爬虫采集网站时经常会遇到内容使用ajax异步加载。一般采取的方案是PHP模拟再请求api接口获取数据,但是有时候前端js加密非常麻烦,我们需要将js的加密方法转换为php方法方便curl请求。当然通过了解我们可以通过3种方案解决。<?php

//初始化

$v8 = new V8Js();

//js代码

$js = "

var char = 'abcdef';

var password = '123456';

function sign(char,password)

{

return char+password;

}

var token = sign(char,password);

token;

";

//尝试执行js

try

{

$ret = $v8->executeString($js, 'auth.js');

echo '执行成功:' . PHP_EOL;

var_dump($ret);

}

catch (Exception $e)

{

echo '代码异常' . PHP_EOL;

var_dump($e->getMessage());

}

输出:abcdef123456

第二种:使用phantomjs加载网页,phantomjs软件内置一款webkit内核的浏览器,通过php的api调用完成真正的模拟访问,等待页面加载完成提取dom即可。(安装方法自行百度)

php 爬虫 执行js,php爬虫执行js,php执行js相关推荐

  1. Node.js期中爬虫实验项目

    Node.js期中爬虫实验项目 期中作业要求 基础概念引入 前期准备工作 安装node.js 安装数据库 安装Navicat Premium 15 正则表达式学习网站 课堂示例演示 示例一(显示在终端 ...

  2. 腾讯爬虫python_【Python爬虫+js逆向】Python爬取腾讯漫画!

    前一段假期期间,博主已经自学完了Python反爬虫的相关内容,面对各大网站的反爬机制也都有了一战之力.可惜因实战经验不足,所以总体来说还是一个字--菜.前两天,在学习并实战爬取了博主最爱看的腾讯动漫后 ...

  3. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第二题: js 混淆 - 动态Cookie

    一.题目 链接: <猿人学爬虫攻防大赛 | 第二题: js 混淆 - 动态Cookie> 二.分析 按照以往习惯,我们先按F12打开控制台,Network抓包,勾选preserve log ...

  4. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(中)

    一.备注 在阅读此文章前,请先阅读前一篇<[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(上)> 二.找参数来源(二) 在前一篇文章中,我们找出了Cookie ...

  5. js 破解爬虫-四川金榜路AES加密

    对四川金榜路招生计划的数据爬虫获取 调试分析 首先登录到该网站,点击下面的招考数据->招考计划.当我们想对下面的大学招生计划数据进行获取时,打开F12进行调试 没看见我们想要的大学内容,唯一一条 ...

  6. QQ音乐JS逆向爬虫,我用python全都爬!

    爬虫高级必然JS逆向,QQ音乐爬虫就是一个很好的练手,读完学会了直接在你女朋友面前装一手,读完你将收获到,QQ音乐JS逆向,sign参数获取,songmid参数获取,vkey参数获取,selenium ...

  7. [007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(下)

    一.备注 在阅读此文章前,请先阅读前两篇 <[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第五题: js混淆 乱码增强(上)> <[007]爬虫系列 | 猿人学爬虫攻防大赛 | 第 ...

  8. JS基础篇之作用域、执行上下文、this、闭包

    前言:JS 的作用域.执行上下文.this.闭包是老生常谈的话题,也是新手比较懵懂的知识点.当然即便你作为老手,也未必真的能理解透彻这些概念. 一.作用域和执行上下文 作用域: js中的作用域是词法作 ...

  9. js文件引用方式及其同步执行与异步执行

    详见: http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp74 任何以appendChild(scriptNode) 的方式引入的j ...

  10. [js] promise的构造函数是同步执行还是异步执行,它的then方法呢?

    [js] promise的构造函数是同步执行还是异步执行,它的then方法呢? promise构造函数是同步执行的,then方法是异步执行的. 个人简介 我是歌谣,欢迎和大家一起交流前后端知识.放弃很 ...

最新文章

  1. git 裁切_裁切参数设计(DOE试验)
  2. HTML5跳转页面并传值以及localStorage的用法
  3. 策略梯度搜索:不使用搜索树的在线规划和专家迭代 | 技术头条
  4. 网页中返回顶部代码(多种方法)另附注释说明
  5. 【Python小游戏】当当当当 万众瞩目得《滑雪大冒险》来啦~(附源码)
  6. SAP PP生产订单相关信息的获取
  7. python最基本的规则是什么_Python基础介绍(一)
  8. Microsoft Enterprise Library---解读Configuration之元数据
  9. 20个简约风格网站设计作品欣赏
  10. 夺命雷公狗---linux NO:19 linux下的vi交换文件
  11. 申请XenCenter许可证
  12. GPS 校验和 代码_嵌入式Linux平台的GPS数据采集
  13. 想不到吧,实体类能自己CRUD,MyBatis-Plus AR模式了解下
  14. android软件开发
  15. 北新建材被授予“亚洲最大石膏板产业集团”硅钙板吊顶
  16. 中国余热发电市场运作动态与十四五可行性研究报告2021年版
  17. 基于Multisim的buck降压斩波电路仿真
  18. mpv官方文档部分快捷键
  19. PON为什么被称为无源光网络?不同PON技术的主要区别是什么?
  20. 大数据薪水大概多少_入行大数据,薪资待遇到底能拿多少?

热门文章

  1. 计算机学机械制图吗,机械制图为什么这么难学?
  2. 区块链获得获得华尔街的胜利:“现在我们知道它有用了”
  3. 将 Windows RE 安装到手工创建的 OEM 分区中
  4. Readline-5.2交叉编译——fileman移植
  5. 用Java生成word文档
  6. 如何做好企业SWOT分析?用这个企业项目设计工具就足够了!
  7. Docker 入门教程
  8. GTK-sopcast 0.2.8
  9. Windows10快速切换后台程序的快捷键!
  10. Swift iOS HealthKit 使用案例: 获取体温列表 HKHealthStore