(原创)添加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

 


版权声明:本文为Good_Luck_Kevin2018原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。