qq cookie
qq cookie
from selenium import webdriver
from selenium.webdriver import ActionChains
import time, re, os, requests
from PIL import Image
def get_cookie():
print('开始')
chrome_options = webdriver.ChromeOptions()
# # 使用headless无界面浏览器模式
chrome_options.add_argument('--headless')
chrome_options.add_argument('--no-sandbox')
# 谷歌文档提到需要加上这个属性来规避bug
chrome_options.add_argument('--disable-gpu')
# 设置默认编码为utf-8
chrome_options.add_argument('lang=zh_CN.UTF-8')
## 隐藏滚动条, 应对一些特殊页面
chrome_options.add_argument('--hide-scrollbars')
# 禁止加载图片
# chrome_options.add_argument('blink-settings=imagesEnabled=false')
# 指定浏览器分辨率
chrome_options.add_argument('window-size=1440x900')
driver = webdriver.Chrome(chrome_options=chrome_options, executable_path='/root/yu/01-chromedriver/chromedriver')
driver.get('https://www.wegame.com.cn/store/games')
# driver.maximize_window()
ac = driver.find_element_by_xpath('//*[@id="header_wrapper"]/div/div[3]/div[1]/a/span')
ActionChains(driver).move_to_element(ac).click(ac).perform()
time.sleep(1)
iframe = driver.find_element_by_xpath('/html/body/div[4]/div/div/div[2]/div[3]/iframe') # 切换到这个iframe 不切换获取不到xpath坐标
driver.switch_to.frame(iframe)
time.sleep(2)
ac = driver.find_element_by_xpath('//*[@id="switcher_plogin"]')
ActionChains(driver).move_to_element(ac).click(ac).perform()
time.sleep(1)
driver.find_element_by_xpath('//input[@id="u"]').clear()
for i in '2649942575':
# for i in '1064145110':
driver.find_element_by_xpath('//input[@id="u"]').send_keys(i)
time.sleep(0.2)
driver.find_element_by_xpath('//input[@id="p"]').clear()
for i in 'yu1064145110':
# for i in 'zhangyan1216':
driver.find_element_by_xpath('//input[@id="p"]').send_keys(i)
time.sleep(0.2)
ac = driver.find_element_by_xpath('//*[@id="login_button"]')
ActionChains(driver).move_to_element(ac).click(ac).perform()
time.sleep(2)
print('-' * 100)
html = driver.page_source
if '安全验证' in html:
imgelement = driver.find_element_by_xpath('//*[@id="qrlogin_img"]')
locations = imgelement.location # 获取当前位置坐标 定点
print('locations:{}'.format(locations))
sizes = imgelement.size # 获取xpath取到的图片大小
print('sizes:{}'.format(sizes))
driver.switch_to.default_content() # 切换到主页
iframe_l = driver.find_element_by_xpath('/html/body/div[4]/div/div/div[2]/div[3]/iframe')
locations_l = iframe_l.location
print('locations_l:{}'.format(locations_l))
rangle = (locations['x'] + locations_l['x'], locations['y'] + locations_l['y'],
locations['x'] + sizes['width'] + locations_l['x'],
locations['y'] + sizes['height'] + locations_l['y']) # 要切图片的坐标(x, y, x, y) 第一个是 第一点坐标 后面xy 是第二点坐标 两点获取一个面
path = os.path.dirname(os.path.abspath(__file__))
driver.save_screenshot('{}/iamge.png'.format(path)) # 数据保存为图片
# 打开截图切割
img = Image.open('{}/iamge.png'.format(path)) # 读取要切割的图片
jpg = img.crop(rangle)
jpg.save('{}/iamges.png'.format(path)) # 保存切割下的图片
jpgzoom = Image.open('{}/iamges.png'.format(path))
(x, y) = jpgzoom.size
x_s = x * 3
y_s = y * 3
out = jpgzoom.resize((x_s, y_s), Image.ANTIALIAS)
out.save('{}/zoom.png'.format(path), quality=95) # 保存放大后的图片
# driver.quit()
print('请快速扫码登入')
time.sleep(20)
print('-' * 1000)
# driver.switch_to.default_content()
time.sleep(2)
aa_cookie = driver.get_cookies() # 获取cookie
print("aa_cookie:{}".format(aa_cookie))
print('+' * 100)
cookie = {}
cookies = [] # 拼cookie
for i in aa_cookie:
cookie[i["name"]] = i["value"]
cookies.append('{}={}'.format(i["name"], i["value"]))
print('cookie:{}'.format(cookie))
print('cookies:{}'.format('; '.join(cookies)))
time.sleep(500)
driver.quit()
if __name__ == '__main__':
get_cookie()
qq cookie的更多相关文章
- C#7.2——编写安全高效的C#代码 c# 中模拟一个模式匹配及匹配值抽取 走进 LINQ 的世界 移除Excel工作表密码保护小工具含C#源代码 腾讯QQ会员中心g_tk32算法【C#版】
C#7.2——编写安全高效的C#代码 2018-11-07 18:59 by 沉睡的木木夕, 123 阅读, 0 评论, 收藏, 编辑 原文地址:https://docs.microsoft.com/ ...
- 腾讯QQ会员中心g_tk32算法【C#版】
最近用C#写qq活动辅助类程序,碰到了会员签到的gtk算法不一样,后来网上找了看,发现有php版的(https://www.oschina.net/code/snippet_1378052_48831 ...
- Python_小林的爬取QQ空间相册图片链接程序
前言 昨天看见某人的空间有上传了XXXX个头像,然后我就想着下载回来[所以本质上这是一个头像下载程序],但是一个个另存为太浪费时间了,上网搜索有没有现成的工具,居然要注册码,还卖45一套.你们的良心也 ...
- 在父页面和其iframe之间函数回调 父页面回调iframe里写的函数
// @shaoyang 父页面 window['mengBanLogin']={ mengBanArr : new Array(), mengBanLoginSuccess : function( ...
- Java版 QQ空间自动登录无需拷贝cookie一天抓取30WQQ说说数据&流程分析
QQ空间说说抓取难度比较大,花了一个星期才研究清楚! 代码请移步到GitHub GitHub地址:https://github.com/20100507/Qzone [没有加入多线程,希望你可以参与进 ...
- QQ浏览器兼容模式下Cookie失效 导致的NetCore Cookie认证失效
最近在写NetCore项目采用的是NetCore的Cookie认证.结果偶然发现QQ浏览器登录不好用.这里先需要了解一下set-cookie中的SameSite属性 导致原因 首先Fiddler 4 ...
- ASP.NET Core SameSite 设置引起 Cookie 在 QQ 浏览器中不起作用
最近在发布了基于 ASP.NET Core 实现的新版登录页面之后,陆陆续续地接到用户反馈登录时 Antiforgery Token 总是验证失败. 日志中记录的对应错误是 Antiforgery t ...
- QQ浏览器、搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie、Session失效问题
原文:QQ浏览器.搜狗浏览器等兼容模式下,Asp.NetCore下,Cookie.Session失效问题 这些狗日的浏览器在兼容模式下,保存Cookie会失败,是因为SameSiteMode默认为La ...
- QQ空间动态爬虫
作者:虚静 链接:https://zhuanlan.zhihu.com/p/24656161 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 先说明几件事: 题目的意 ...
随机推荐
- Python3 数据结构之词频统计(英文)
import string path = r'C:\Users\Black\Desktop\Walden.txt' with open(path, 'r', encoding='utf-8') as ...
- Python3 函数进阶1
目录 闭包函数 什么是闭包函数 闭包函数的作用 装饰器 什么是装饰器 无参装饰器 有参装饰器 闭包函数 什么是闭包函数 闭包函数本质上就是函数嵌套和高阶函数 闭包函数的满足条件: 必须嵌套函数 内嵌函 ...
- 大数据项目2(Java8聚合操作)
前言:为很好的理解这些方法,你需要熟悉java8特性Lambda和方法引用的使用 一:简介 我们用集合的目的,往往不是简单的仅仅把数据保存哪里.而是要检索(遍历)或者去计算或统计....操作集合里面的 ...
- html5 websocket 示例,websocket在线聊天,php websocket实例
WebSocket在线测试工具 http://ws.douqq.com/ 1.连接格式为 ws://IP/域名:端口(示例ws://119.29.3.36:5354) 2.对于内网的测试环境,只需填入 ...
- 《Java数据结构》树形结构
树形结构是一层次的嵌套结构. 一个树形结构的外层和内层有相似的结构, 所以这种结构多可以递归的表示.经典数据结构中的各种树形图是一种典型的树形结构:一颗树可以简单的表示为根, 左子树, 右子树. 左子 ...
- 十分钟学会Markdown基本语法
文章目录 Markdown 语法 一.标题 这是一级标题 这是二级标题 这是三级标题 这是四级标题 这是五级标题 这是六级标题 二.字体 三.引用 四.分割线 五.图片 六.超链接 七.列表 八.表格 ...
- NetCore MemoryCache使用
引用类库 1.Install-Package Microsoft.Extensions.Caching.Memory MemoryCacheOptions 缓存配置 1.ExpirationScanF ...
- php yii 查看帮助时会调用具体脚本类的析构函数
现象 执行 php yii 查看脚本有什么命令的时候,发现会调用我一个类中的析构函数的命令.并且不是一次调用,是3次,截图中有两次,还有一次输出完析构函数所在的类中的命令之后. 分析原因 在析构函数中 ...
- 松软科技Web课堂:JavaScript 类型转换
Number() 转换数值,String() 转换字符串,Boolean() 转换布尔值. JavaScript 数据类型 JavaScript 中有五种可包含值的数据类型: 字符串(string) ...
- day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入
复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...