这几天一直想搞明白cookie的爬虫使用,结果从昨天晚上开始试验,selenium获取的cookie怎么也无法实现直接登录,气的想打人。在刚才终于发现一些问题,在和浏览器中的cookie对比发现格式不一样,然后对着他进行格式改变,结果终于成功了,现在以一个模拟登录扣扣空间的例子:

这是模拟点击登录扣扣空间

我请求的这个网址是在分析的时候发现的,发现登录二维码是在一个这样的页面里,这样就很容易的点击进入空间

 
 
from selenium import webdriver
import time
import json
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")button=driver.find_element_by_class_name("face")
# print(button)
button.click()time.sleep(5)
print(driver.current_url)
text=driver.page_source
cookie = driver.get_cookies()
print(cookie)
jsonCookies = json.dumps(cookie)
with open('qqhomepage.json', 'w') as f:f.write(jsonCookies)

这样就将获取的cookie保存到文件里了,接下来我们来整理cookie,将至整理为我们需要的格式

import jsonstr=''
with open('qqhomepage.json','r',encoding='utf-8') as f:listCookies=json.loads(f.read())
cookie = [item["name"] + "=" + item["value"] for item in listCookies]
cookiestr = '; '.join(item for item in cookie)
print(cookiestr)
这里我们就获得了需要的cookie值

特别注意:

我就是栽倒在这里的cookie格式里面;

每一句‘name’+'value'后面都要加分号和空格,格式不正确不能使用,牢记牢记

最后我们来验证获取的cookie是否能用;

import requestsurl='https://user.qzone.qq.com/1329818994'headers={'cookie':cookiestr,'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
}html=requests.get(url=url,headers=headers)print(html.text)

这里的cookie设置为你从文件里读取的cookie

然后请求你的空间网址,你会发现你得到的源代码是你登录空间后的源代码,证明你登录成功。第一次写这个,希望大家多多包涵,遇到不明白的可以留言,或者加我qq

关于selenium获取cookie然后实现免登录相关推荐

  1. 模拟动态登录,获取cookie和图片验证码登录(AcFun和豆瓣)

    #模拟登录acfun #导入第三方库 import requests import pickle from bs4 import BeautifulSoup from fake_useragent i ...

  2. python+selenium获取cookie session_Python Selenium模拟登录成功后,使用此cookie、利用requests库进行get时,提示“非法登陆”。...

    一. 步骤概述 a. 模拟登录学校选课系统(使用Selenium库登陆http://xk.suibe.edu.cn/xsxk/login.xk) b. 取得cookie后传入requests的sess ...

  3. Python用selenium获取cookie以后给rqeuests使用。

    先使用selenium的get_cookies()方法获取cookie,再使用 requests.Session() 使用cookie 获取 首先用selenium自带的get_cookies()方法 ...

  4. python+selenium获取cookie session_selenium获取cookie及设置cookie

    获取cookie:在打开的页面使用 self.driver.get_cookies() 返回下面数据: [{'domain': '.linkedin.com', 'expiry': 1553, 'ht ...

  5. Python用selenium获取Cookie并用于登录。

    不能一味地看网上的代码,Cookie代码格式有的不一样 selenium官网有自带的中文教程,但是有点不仔细.中文官方连接在这3-7 用贴吧举个例吧 上连接 http://www,baidu.com ...

  6. selenium利用cookie跳过验证码登录

    1.测试场景 在实现web自动化的过程中,为了解决每次登录时,验证码会随机变化的问题,以达到测试已登录状态的其他页面模块,我们需要利用cookie跳过登录,完成测试. 正常情况下,项目测试人员是不会遇 ...

  7. 【selenium 获取cookie】

    golang代码 //生成带有cookie的header func buildHeader(chromeDriverPath string, url string) map[string]string ...

  8. 利用HttpWebRequest和HttpWebResponse获取Cookie并实现模拟登录

    之前看过某个同学的一篇有关与使用JSoup解析学校图书馆的文章,仔细一看,发现竟然是同校!!既然对方用的是java,那么我也就来个C#好了,虽然我的入门语言是java. C#没有JSoup这样方便的东 ...

  9. android qq登录 获取用户信息吗,免登录 只需要一个QQ号就能获取QQ头像和QQ昵称 获取QQ用户信息API...

    [PHP] 纯文本查看 复制代码<?php // header header("Content-Type:application/json"); error_reportin ...

  10. python爬虫(十四)selenium(select、17素材网、模拟登录豆瓣和QQ空间、获取cookie、行为链)

    selenium介绍(下) 不管页面是动态加载还是静态加载出来的,只要是elements中能找到的,都能用selenium来获取数据,selenium获取数据的方式是以页面最终渲染后的前端为基础的,不 ...

最新文章

  1. 微软亚洲研究院:“网络结构搜索和设计”论文分享专场
  2. mysql sum 为 0 的解决方法
  3. Linux学习之CentOS(八)--Linux系统的分区概念
  4. SQL server 2005安装问题汇总
  5. 31个用来测试你网站各项性能的免费在线工具
  6. 1v1项目实战+真实经验倾囊相授,0基础的我是如何逆袭成功?
  7. vs2010 打开项目卡死问题解决办法
  8. php站长统计,CNZZ站长统计产生的警告处理办法
  9. 用计算机制作演示文稿教案博客,《创作演示文稿》教学设计
  10. matlab 互换 函数,Matlab矩阵中元素交换
  11. android studio卸载找不到uninstall
  12. 关于重装vscode打不开的三种解决方法,亲测有用
  13. Ubuntu16.04安装Redshift色温调节工具
  14. oracle 执行计划(F5)详解
  15. 代码同时托管到github和oschina上
  16. 拾忆Elasticsearch02:Elasticsearch的基本命令回顾
  17. 1.线性回归(Tensorflow)
  18. Linux下QT串口通过无线模块收发十六进制数据
  19. 20145124 《Java程序设计》第10周学习总结
  20. 用DOSBox0.74进行汇编代码的运行

热门文章

  1. 【新手可看懂】ubuntu配置appium环境
  2. 解决混合模式程序集在VS2010 .net 4.0 环境下调试出错的方法。
  3. 洛谷P2886牛继电器
  4. 深浅拷贝和数列,变量的区别
  5. Android 使用RxJava实现一个发布/订阅事件总线
  6. 使用纯生js实现图片轮换
  7. asp不能做到的是什么
  8. postgresql查看表的创建者和表的权限
  9. 【ACL2019】看 NLP 未来发展趋势
  10. 高校里的你值得关注的最强大脑