(原创)添加QQ好友日期爬虫03——访问主页得到token

现在虽然有了cookies,但还是不能畅通无助,需要解决token,和g_tk;

注意点:主页的编码有两种:utf-8,gbk 需要解码时"ignore",忽略部分解不了的源码

token 验证

  • token其实说的更通俗点可以叫暗号,在一些数据传输之前,要先进行暗号的核对,不同的暗号被授权不同的数据操作。
  • 使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:
  1. 客户端使用用户名跟密码请求登录
  2. 服务端收到请求,去验证用户名与密码
  3. 验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端
  4. 客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里
  5. 客户端每次向服务端请求资源的时候需要带着服务端签发的 Token
  6. 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
def get_tocken(cookies):
	url = index_url
	headers = {
	"cookie": cookies,
	'referer':"https://i.qq.com/",
	"upgrade-insecure-requests": "1",
	"user-agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
	}
	# 这里注意混合编码,网页中charset有两种,utf-8,gbk
	res = requests.get(url,headers=headers)
	contents = res.content
	# encode = chardet.detect(contents)   # 获取网页编码格式字典信息,字典encode中键encoding的值为编码格式
	html = contents.decode('gbk','ignore') # 用分析出的网页编码格式,解码
	try:
		pattern = re.compile(r'{ try{return\s?"(.*?)";}')
		token = re.findall(pattern,html)[0]
	except IndexError:
		token=''
	return token

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值