php抓取网页连接函数(PHP端的操作0.这里我已经配置好了(组图))

优采云 发布时间: 2021-11-08 09:06

  php抓取网页连接函数(PHP端的操作0.这里我已经配置好了(组图))

  一、准备工具、账号、项目等1. 安装QQ小程序开发工具

  这是下载地址

  

  我的是win10,64位,我下载的是红箭版。我首先下载了绿色箭头版本。结果只是测试模式。没有找到编辑器,只好再下载一个。

  2.申请开发者账号获得APPID

  就按照网上的步骤一步一步来,没什么好说的,放个网站就行了

  3.创建一个空白项目

  进入APPID,微信开发工具也可以测试ID,但是QQ没找到

  二、开始在QQ开发工具中操作1.开始尝试连接后台,先封装一个方法,然后连接到后台调用方法

  放上图

  

  你可以把这个工具放在任何地方,我只是习惯这样放

  这是代码,如果有什么不清楚的,可以查看文档

  var ip = "http://127.0.0.1/"; //这个是本机IP,localhost也行,不过我习惯这个了

/**

* 固有方法:封装_连接后台方法

* 备注:如果之后放到服务器上,就只要换上面的那个ip就可以了

* url:这个是连接的接口的路径,之后引用方法的时候会当做参数填入

* data:这个是传入的参数,以后肯定会用到的,

* resolve是连接成功返回的函数,reject是连接失败的函数

*/

const req = function(url,data){

return new Promise((resolve,reject) =>{

qq.request({

url: ip+url,

data:data,

dataType : 'json',

method:'POST',

header: {

'content-type': 'application/x-www-form-urlencoded'

},

success:resolve,

fail:reject

})

})

};

/**

* 导出方法

* 介绍:这个是用来暴露方法的,这样一会在app.js中就可以引用这个方法了

*/

module.exports = {

req: req,

}

  2. 在app.js中配置(不知道调用配置行不行,就这样调用)

  先放图

  

  这些省略的地方都是新建的时候就有的,所以我省略了。我只在第 5 行向下写了 46。

  这是引用该工具包的路径,

  var HTTP = require('utils/service/request.js');//创建时间:2019.08.03

  这是引用连接的方法,其中req是我放的第一个代码片段中的req

  /**

* 注册全局函数

* 创建时间:2019.08.03

*/

func:{

req:HTTP.req,//连接后台方法

}

  3.功能页面参考调用方法

  放上图

  

  我把页面上的HTML代码改了,全部注释掉,然后放一个按钮,然后把HTML代码

  评论并不重要。如果不是重点,我会评论。我先放一个总代码。如果想看里面的内容,也可以看看。然后我把js方法的部分代码放上来。

  //index.js

//获取应用实例

const app = getApp();

Page({

data: {

motto: 'Hello World',

userInfo: {},

hasUserInfo: false,

canIUse: qq.canIUse('button.open-type.getUserInfo')

},

//事件处理函数

bindViewTap: function () {

qq.navigateTo({

url: '../logs/logs'

})

},

onLoad: function () {

if (app.globalData.userInfo) {

this.setData({

userInfo: app.globalData.userInfo,

hasUserInfo: true

})

} else if (this.data.canIUse) {

// 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回

// 所以此处加入 callback 以防止这种情况

app.userInfoReadyCallback = res => {

this.setData({

userInfo: res.userInfo,

hasUserInfo: true

})

}

} else {

// 在没有 open-type=getUserInfo 版本的兼容处理

qq.getUserInfo({

success: res => {

app.globalData.userInfo = res.userInfo

this.setData({

userInfo: res.userInfo,

hasUserInfo: true

})

}

})

}

},

getUserInfo: function (e) {

console.log(e)

app.globalData.userInfo = e.detail.userInfo

this.setData({

userInfo: e.detail.userInfo,

hasUserInfo: true

})

},

/**

* _方法:测试

* 创建时间:2019.08.03

*/

_ceshi(){

const that = this;

const data = {

}

app.func.req('project_text1/index.php',data).then(res => {

console.log('后台数据',res);

}).catch(err =>{

console.log('获取数据失败,失败原因',err);

});

}

})

  这是js连接后端方法的代码,我详细解释一下有什么

   /**

* _方法:测试

* 创建时间:2019.08.03

*/

_ceshi(){

const that = this; //这个就是讲this提取到that中,如果外层变了,也能找到需要的最外层

const data = { //就是连接后台,啥逻辑都没有,所以这个理论里面就没放数据

}

//单引号里面的是路径,我一会写到PHP的时候,就可以看到了

//data就是传的数据,虽然啥也没有

//因为第一个代码块那里已经用resolve和reject配好了,所以这里.then和.catch就是连接后台成功和失败了

app.func.req('project_text1/index.php',data).then(res => {//然后res和err就是返回数据,前面的单引就是单纯的字符串

console.log('后台数据',res);

}).catch(err =>{

console.log('获取数据失败,失败原因',err);

});

}

  然后这里是HTML图片

  

  和代码,只有这个有效,其他都注释了,只是这个_ceshi方法连接js测试是否可以连接后台

  

测试按钮

  三、PHP端的操作0.这里我已经在本机配置了运行PHP的软件和写PHP的软件,这里就不展开了。没做完我就先百度一下,补完PHP。1.启动phpStudy,让PHP先跑起来

  注意:这里说的是需要配置Apache、MySQL等,其实没必要这么麻烦。互联网上有很多软件问题可以解决所有问题。

  比如phpStudy官方版20180211

  还有这个WampServer3.0.6 正式版

  而这个 Visual NMP 7.0.31 (x64)

  我目前使用第一个

  这是启动后的截图

  

  2.打开 sublime_text3

  我是用这个软件来的,其他的php写也是可以的,不过我是第一次写,其他的还没用过,不知道哪种好用

  3.截图我的代码

  你看到左边的文件名了吗?我在小终端里就是按照这个写的。

  当然你也可以右击右边的黑框,复制文件路径,然后把www和上一个改成127.0.0.1

  这里的注释没用,有用的代码我先放上来,因为我是第一次写PHP,所以很多地方不知道。上面的评论都是我试过的。

  第二行是返回的类型,我的PHP学习博客稍后详述

  第 4 行是我尝试创建一个集合,第 8 行的结果很好。相反,第 4 行变成了两组。

  然后,除了 15 行,我尝试打印并返回一些东西。也可以使用第 10 行,避免出现乱码。但是我没有乱码,所以就用了11行的那个。我想这个回报也可以使用。我稍后会尝试。尝试

  刚试了一下,就用第10行的,但是代码突然乱码了,就换成第10行的就行了。

  4. 然后在google上试试,把路径127.0.0.1\project_text1\index.php

  这是替换第10行后的截图

  

  看路径,和我小程序上的路径一模一样,可以用

  四、点击小程序0.0 终于到了。虽然尝试了很多次,但这是第一次写博客。至少假装很开心。

  点击测试按钮查看控制台输出,这是图片,

  看红框就成功了,获取PHP后端的值,这样就可以连接PHP后端了

  

  不得不说PHP后台连接真的很方便,而且还挺小巧的。感觉几个文件都可以用。如果是小项目,就不需要ssm或者springboot框架(我是做Java的)。直接连接就可以使用了,很方便

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线