网页抓取qq(微博和QQ微博引入微博JSa*敏*感*词*ey中,你的微博开发者)

优采云 发布时间: 2021-09-08 23:01

  网页抓取qq(微博和QQ微博引入微博JSa*敏*感*词*ey中,你的微博开发者)

  申请开发者账号并不麻烦,网上有很多:

  假设已经申请了各个平台的开发者账号。

  先来简单的,微博和QQ

  微博:

  微博JS介绍

  在a*敏*感*词*ey中填写你的微博开发者id(替换****)

  1

  微博登录按钮

  在您页面的微博登录按钮标签上添加上述id。页面加载时,微博会自动加载样式,也可以强制自己修改。

  

WB2.anyWhere(function (W) {

W.widget.connectButton({

id: "wb_connect_btn",

type: '3,2',

callback: {

login: function (o) { //登录后的回调函数

            console.log(o);

thirdparty(null,null,o.avatar_hd, o.name ,3, o.id);//个人方法

try{

document.getElementsByClassName('loginout')[0].click();

               //页面需求,当前页面登录完成之后,不进行跳转,所以模拟点击事件,让微博账号在当前域中退出。不影响下次登录。(元素为微博动态添加)

               //微博没有提供退出方法。下面的logout为另一种开发模式调用。

}catch(e){

console.log(e);

}

},

logout: function () { //退出后的回调函数

}

}

});

});

  将上述所有标签添加到 html。

  至此,只要在页面登录,就可以在控制台看到返回的数据。当然,测试必须在微博注册的域下。

  QQ登录:

  像微博一样,引入JavaScript文件

  类似微博,替换成你的appid

  为登录标签添加id标记

  然后将以下代码添加到 JavaScript:

  QC.Login({

//btnId:插入按钮的节点id,必选

btnId:"qqLoginBtn",

//用户需要确认的scope授权项,可选,默认all

scope:"all",

//按钮尺寸,可用值[A_XL| A_L| A_M| A_S| B_M| B_S| C_S],可选,默认B_S

size: "B_S"

}, function(reqData, opts){//登录成功

//根据返回数据,更换按钮显示状态方法

console.log(reqData);//查看返回数据

QC.Login.getMe(function(openId, accessToken){//获取用户的openId

console.log('QQOPENID:'+openId);

thirdparty(null,null,reqData.figureurl_qq_2,reqData.nickname,1,openId);

QC.Login.signOut();//退出QQ登录调用事件

});

}

);

  在QQ注册的域名下测试。重要的,再说一遍。

  QQ和微博登录大致相同,只要导入JS文件,然后直接调用方法,QQ比微博更和谐,直接提供注销事件。上面的代码中有。 .

  现在最痛苦的微信登录。

  微信登录提供两种方式:

  第一种,扫码登录:

  需要在微信开发者平台注册才能获取appId。

  微信登录按钮:

  在你的微信登录按钮上添加一个点击事件并执行以下代码:

  $('.weixin-login').on('click',function(){

window.location.href='https://open.weixin.qq.com/connect/qrconnect?' +

'appid=*******&redirect_uri=http%3a%2f%2fwww.xxxxxx.com%2f'+window.location.pathname.substr(1)+'&response_type=code&scope=snsapi_login&state=3d6be0a4035d839573b04816624a415e#wechat_redirect';

});

  需要更换:

  redirect_url: 如果要传当前url,直接encodeURIComponent(window.location.href) //当然需要自己拼接,不明白的留言

  到目前为止,当用户点击时,会跳转到扫码界面:

  例如:

  至此,获取第一步令牌,代码。在您的回调页面中,您需要获取url中的代码才能与微信交换下一个令牌。因为下一步的token交换涉及到跨域请求,而微信不允许跨域请求,只能在后台做后续的事情。

  第二步,

  后台请求:https://api.weixin.qq.com/sns/oauth2/access_token?appid=[APPID]&secret=[SECRET]&code=[CODE]&grant_type=authorization_code

  替换括号中的数据。 (我带着 get 请求去了)。

  返回以下数据:

  {

"access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",

"scope":"SCOPE",

"unionid": "o6_bmasdasdsad6_2sgVt7hMZOPfL"

}

  最后一步就不说了:

  https://api.weixin.qq.com/sns/userinfo?access_token=[ACCESS_TOKEN]&openid=[OPENID]

  替换为上次请求获取的数据,再次请求获胜用户的基本信息。

  详情见微信开发者帮助

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线