puppeteer php,使用php简单调取puppeteer 浏览器

首先安装 node 和 puppeteer

安装完成之后进行传值

对应的js 代码是

首页得安装yargs 模块 安装方法,在当前项目下

npm install yargs --save ,我在安装过程中提示没有package.json,我解决方案是 创建一个package.json

在 package.json 中写入 {} 空的json  即可

"use strict";

const yargs = require("yargs");

var argv = yargs

.options({

"t": {

alias: "text",

demandOption: true,

default: "",

describe: "Source text.",

type: "string"

}

})

.argv;

var name =argv.t; //获取传递进来的参数

var urls =name;

const puppeteer = require("puppeteer");

(async ()=>{

try{

// 创建一个浏览器实例 Browser 对象

let browser = await puppeteer.launch({

// 是否不显示浏览器, 为true则不显示

"args": ["--no-sandbox", "--disable-setuid-sandbox"]

});

// 通过浏览器实例 Browser 对象创建页面 Page 对象

let page = await browser.newPage();

// 设置浏览器信息

const UA = "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Mobile/15A372 Safari/604.1";

await Promise.all([

page.setUserAgent(UA),

// 允许运行js

page.setJavaScriptEnabled(true),

// 设置页面视口的大小

page.setViewport({width: 1100, height: 1080}),

]);

// 地址

let chapter_list_url =urls;

await page.goto(chapter_list_url);

let content= await page.content();

console.log(content);

// 使用css选择器的方式

await browser.close();

return content;

//console.log(content);

}catch(err){

console.log(err)

}

})();

下面是对应的php 代码

$dir ="C:/node/node.exe C:/puppeteer/cctv.js -t $name";

exec($dir,$a,$b);

$html = implode("",$a);

把解析出来的$html 进行对应正则匹配,

注意 我用 exec()函数在linux 服务器上一直无法返回内容,原因还不知道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值