ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

爬虫笔记19:模拟登录jerry的QQ空间(selenium获取cookie的应用案例)、怎么保存cookie

2021-05-29 21:30:10  阅读:229  来源: 互联网

标签:QQ qq 19 html cookie qzone 3A com


一、模拟登录jerry的QQ空间
使用一个第三方登录的链接:https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=手机QQ空间&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=0
也就是说点击下图中的jerry头像就可以登录了。
在这里插入图片描述

from selenium import webdriver
import requests
import time

driver = webdriver.Chrome(r'C:\Users\Administrator\Desktop\chromedriver_win32\chromedriver.exe')
#加载第三方的登录方式
driver.get('https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=手机QQ空间&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=0')
time.sleep(1)
button = driver.find_element_by_class_name('face').click()	#点击登录
time.sleep(2)
listCookies = driver.get_cookies() # 获取cookie数据,返回的是python中的list 

# 解析cookie数据 列表推导式 [] 返回的结果是一个新的列表
cookie = [item['name'] + '=' + item['value'] for item in listCookies]
cookie_str = '; '.join(item for item in cookie)

# 测试代码 selenium获取和解析之后的cookie是否可以使用
url = 'https://user.qzone.qq.com/192149641'  # 目标url,也就是Jerry老师的QQ空间首页
headers = {
    'cookie':cookie_str,
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'
}

html = requests.get(url,headers=headers)
time.sleep(2)
with open('qzong.html','w',encoding='utf-8') as file_obj:
    file_obj.write(html.text)	#打开这个qzong.html是Jerry老师的,那就是成功了。
#print(html.text)	该text文件中有账号或者昵称等关键字可以证明是Jerry老师的,那就是成功了。

二、怎样保存cookie
json.loads():把json类型的字符串(str)转换成python的数据类型
json.dumps():把python的数据类型转换成json类型的字符串(str)

from selenium import webdriver
import json


driver = webdriver.Chrome(r'C:\Users\Administrator\Desktop\chromedriver_win32\chromedriver.exe')
driver.get('https://www.baidu.com/')

# 获取百度的cookie
listCookies = driver.get_cookies() # 返回的是python中的list

#保存cookie
jsonCookies = json.dumps(listCookies) 	
# print(type(jsonCookies),jsonCookies)

with open('qqzone.json','w') as file_obj:
    file_obj.write(jsonCookies)
    

结果:qqzone.json在sublime中打开
在这里插入图片描述

标签:QQ,qq,19,html,cookie,qzone,3A,com
来源: https://blog.csdn.net/weixin_49167820/article/details/117390667

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有