精华内容
下载资源
问答
  • selenium cookie 登录

    千次阅读 2021-01-22 14:30:54
    爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了...

    前言

    爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了,前段时间网上搜了搜,发现没有什么完整的教程,本文就使用selenium来cookie登录为例做一个简单的教程。

    • 环境准备
    • python3
    • selenium
    • chromedriver
      selenium就不再过多解释了,我们在使用的过程中唯一需要注意的就是自己浏览器版本与driver版本的问题,至于具体对应版本,在chromedriver下载页面中会有显示

    代码编写

    这次就以 百度 为例,www.baidu.com 首先使用 selenium 打开百度看一下未登录是什么样子

    代码:

    from selenium import webdriver
    
    #填写webdriver的保存目录
    driver = webdriver.Chrome('../chromedriver.exe')
    
    #记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    

    在这里插入图片描述

    这就是直接打开的样子,我们想要将网页变成登录后的样子,如下图

    在这里插入图片描述

    这是登录账号后的样子,那么我们该怎么获取cookie以达到登录效果呢?

    我们可以直接使用F12查看当前网页的cookie,但是你会发现直接获取到的并不是那么好插入到selenium中,因为cookie在浏览器中实际是这个样子的

    在这里插入图片描述

    它需要额外添加一些东西,那么我们该如何获取呢?其实也很简单,最简单的方法就是我们首先使用selenium手动登录一下然后获取cookie值保存到本地,之后再登陆的时候直接调用本地cookie就可以了

    怎么获取呢?selenium有一个 get_cookies() 函数可以帮我们获取当前网页的cookie值,所以我们首先编写一个 getcookies.py 文件来获取cookie值

    from selenium import webdriver
    import time
    import json
    
    #填写webdriver的保存目录
    driver = webdriver.Chrome('../chromedriver.exe')
    
    #记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    
    #程序打开网页后20秒内手动登陆账户
    time.sleep(20)
    
    with open('cookies.txt','w') as cookief:
        #将cookies保存为json格式
        cookief.write(json.dumps(driver.get_cookies()))
    
    driver.close()
    

    运行程序后如下图 点击登录 输入账号密码,输入验证码(程序内写的20秒完成操作,因为20秒后程序将获得cookies)

    在这里插入图片描述

    现在发现项目目录下已经有了一个名称为 cookies.txt 的文件 ,现在我们已经将cookies保存到了本地,现在我们来编写程序使用cookies

    编写 addcookies.py 文件

    from selenium import webdriver
    import time
    import json
    
    #填写webdriver的保存目录
    driver = webdriver.Chrome('../chromedriver.exe')
    
    #记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    #首先清除由于浏览器打开已有的cookies
    driver.delete_all_cookies()
    
    with open('cookies.txt','r') as cookief:
        #使用json读取cookies 注意读取的是文件 所以用load而不是loads
        cookieslist = json.load(cookief)
        for cookie in cookieslist:
            driver.add_cookie(cookie)
    

    运行,有小伙伴可能会发现现在出问题了,在插入cookie的时候 返回错误

    selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid ‘expiry’
    这个 expiry 是什么呢? 它是cookie的生命周期,也就是失效时间,为什么在这里会报错呢?我们有两种解决办法

    #方法1 将expiry类型变为int(其实不太清楚为什么变为int就可以)
    #方法2删除该字段
    重新编写代码:

    from selenium import webdriver
    import json
    
    #填写webdriver的保存目录
    driver = webdriver.Chrome('../chromedriver.exe')
    
    #记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    #首先清除由于浏览器打开已有的cookies
    driver.delete_all_cookies()
    
    with open('cookies.txt','r') as cookief:
        #使用json读取cookies 注意读取的是文件 所以用load而不是loads
        cookieslist = json.load(cookief)
    
        # 方法1 将expiry类型变为int
        for cookie in cookieslist:
            #并不是所有cookie都含有expiry 所以要用dict的get方法来获取
            if isinstance(cookie.get('expiry'), float):
                cookie['expiry'] = int(cookie['expiry'])
            driver.add_cookie(cookie)
    
        #方法2删除该字段
        # for cookie in cookieslist:
        #     #该字段有问题所以删除就可以  浏览器打开后记得刷新页面 有的网页注入cookie后仍需要刷新一下
        #     if 'expiry' in cookie:
        #         del cookie['expiry']
        #     driver.add_cookie(cookie)
    

    这时候发现没有报错了,可以发现,怎么还是登录之前的页面啊?为什么cookies插入成功了却不是登陆后的页面?

    别急,这时候我们点击一下浏览器的刷新就会发现其实已经登录上去了只不过页面没有变化而已,所以一定记得点刷新,现在我们就成功的使用cookie完成了登录操作。

    参考:https://www.cnblogs.com/yikemogutou/p/12906145.html
    https://www.cnblogs.com/1211-1010/articles/11090727.html

    展开全文
  • cookie登录知乎

    千次阅读 2018-04-06 11:28:46
    cookie登录个人知乎主页 步骤: 1、用自己账号登录知乎,然后复制下来自己的cookie信息。 2、用request.get(url,headers=headers)把cookie传入get请求中 3、用BeautifulSoup匹配内容 一、用自己账号...

    用cookie登录个人知乎主页


    步骤:

      1、用自己账号登录知乎,然后复制下来自己的cookie信息。
      2、用request.get(url,headers=headers)把cookie传入get请求中
      3、用BeautifulSoup匹配内容
    

    一、用自己账号登录知乎,获取自己的cookie信息。


    cookie信息截图

    二、构造请求函数,并把cookie信息加入


    1、先找到用户中心的地址,url=这个地址链接

    这里写图片描述

    2、构造含有cookie的headers请求头

    cookie = '__DAYU_PP=nMANmIyUm7QQBIeFuEjf2db205fcd78d; q_c1=c991ae4c69384d2ca1dcecf5917747b6|1522339960000|1522339960000; _zap=6f9555fc-e9c7-4ccb-8c56-85e2d60872d5; __utma=155987696.172584808.1522590364.1522590364.1522590364.1; __utmz=155987696.1522590364.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); capsion_ticket="2|1:0|10:1522660064|14:capsion_ticket|44:M2FmMDQwYWIyYjUwNDM0ZWExZjhlMWZhZjEwYzkxYjQ=|81c4bfbda99af9d6c71909b276a0f1391753fe837695bc6bae28823e5b0ea01c"; z_c0="2|1:0|10:1522660073|4:z_c0|92:Mi4xTTRsNkJBQUFBQUFBSUstczJIcGhEU1lBQUFCZ0FsVk42VUN2V3dBdHhrajZCTl9CWE1wYXJWeWhWUUFqeC1jVVhB|9677ab22c60e65861fc445cce8ef155e7b56a2b6e6d2a3c02ca4bd36ed12e074"; _xsrf=4ba68d9a-3846-4487-9115-a96159ab2feb; d_c0="ANDuNSVIZg2PTp2YRMKXp0svAYZPkh7XT9w=|1522982315"'
    
    headers = {'user-agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36  Chrome/65.0.3325.181 Safari/537.36','cookie':cookies} # 加入了cookie和user-agent
    

    3、请求个人中心页面,用BeautifulSoup匹配内容

    import requests
    from bs4 import BeautifulSoup
    
    url = 'https://www.zhihu.com/people/tian-geng-shang-de-python/activities'  #个人中心
    res = requests.get(url,headers=headers) #url为上面的url, headers中包含了cookie和user-agent
    html = BeautifulSoup(res.text,'html.parser')  # 获取返回html
    html.find_all('title')[0].string
    >>> '田埂上的python - 知乎'  # 即获取了我的帐号名字
    
    

    本人小白,如有错误欢迎交流指正。

    展开全文
  • selenium中使用cookie登录

    千次阅读 多人点赞 2020-05-10 11:52:18
    key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了,前段时间网上搜了搜,发现没有什么完整的教程,本文就使用selenium来cookie登录为例做一个简单的...

    ✍转载自:https://www.cnblogs.com/CYHISTW/p/11685846.html

    前言

    爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send
    key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了,前段时间网上搜了搜,发现没有什么完整的教程,本文就使用selenium来cookie登录为例做一个简单的教程。

    环境准备

    • python3
    • selenium
    • chromedriver

    代码编写

    这次就以 百度 为例,www.baidu.com 首先使用 selenium 模拟打开百度,看一下未登录是什么样子

    》代码如下:

    from selenium import webdriver
    
    # 填写webdriver的保存目录
    driver = webdriver.Chrome()
    
    # 记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    

    结果如下图所示:
    在这里插入图片描述
    我们想要将网页变成登录后的样子,如下图:
    在这里插入图片描述
    登录账号后,那么我们该怎么获取cookie以达到登录效果呢?

    我们可以直接使用F12查看当前网页的cookie,但是你会发现直接获取到的并不是那么好插入到selenium中,因为cookie在浏览器中实际是这个样子的:
    在这里插入图片描述
    它需要额外添加一些东西,那么我们该如何获取呢?其实也很简单,最简单的方法就是我们首先使用selenium手动登录一下然后获取cookie值保存到本地,之后再登陆的时候直接调用本地cookie就可以了

    ---------------------------------------------------------------------

    怎么获取呢?selenium有一个 get_cookies() 函数可以帮我们获取当前网页的cookie值,所以我们首先编写一个 getcookies.py 文件来获取cookie值。

    1️⃣ 在getcookies.py中编写如下代码:

    from selenium import webdriver
    import time
    import json
    
    # 填写webdriver的保存目录
    driver = webdriver.Chrome()
    
    # 记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    
    # 程序打开网页后20秒内 “手动登陆账户” 
    time.sleep(20)
    
    with open('cookies.txt','w') as f:
        # 将cookies保存为json格式
        f.write(json.dumps(driver.get_cookies()))
    
    driver.close()
    

    运行程序后如下图 点击 登录 输入账号密码【程序内写的20秒完成操作,因为20秒后程序将获得cookie
    在这里插入图片描述
    现在发现项目目录下已经有了一个名称为 cookies.txt 的文件 ,现在我们已经将cookies保存到了本地,现在我们来编写程序使用cookies

    2️⃣创建addcookies.py 文件,编写如下内容:

    from selenium import webdriver
    import time
    import json
    
    # 填写webdriver的保存目录
    driver = webdriver.Chrome()
    
    # 记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    
    # 首先清除由于浏览器打开已有的cookies
    driver.delete_all_cookies()
    
    with open('cookies.txt','r') as f:
        # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
        cookies_list = json.load(f)
        for cookie in cookies_list:
            driver.add_cookie(cookie)
    

    运行后,有小伙伴可能会发现出现报错,在插入cookie的时候 有返回如下错误:
    selenium.common.exceptions.InvalidArgumentException: Message: invalid argument: invalid 'expiry'

    这个 expiry 是什么呢? 它是cookie生命周期,也就是失效时间,为什么在这里会报错呢?我们有两种解决办法:

    • 方法1——将expiry类型变为int(其实不太清楚为什么变为int就可以)
    • 方法2——删除该字段

    3️⃣重新编写addcookies.py 代码:

    from selenium import webdriver
    import json
    
    # 填写webdriver的保存目录
    driver = webdriver.Chrome()
    
    # 记得写完整的url 包括http和https
    driver.get('https://www.baidu.com')
    
    # 首先清除由于浏览器打开已有的cookies
    driver.delete_all_cookies()
    
    with open('cookies.txt','r') as f:
        # 使用json读取cookies 注意读取的是文件 所以用load而不是loads
        cookies_list = json.load(f)
    
        # 方法1 将expiry类型变为int
        for cookie in cookies_list:
            # 并不是所有cookie都含有expiry 所以要用dict的get方法来获取
            if isinstance(cookie.get('expiry'), float):
                cookie['expiry'] = int(cookie['expiry'])
            driver.add_cookie(cookie)
    
        # 方法2删除该字段
        # for cookie in cookieslist:
        #     # 该字段有问题所以删除就可以 
        #     if 'expiry' in cookie:
        #         del cookie['expiry']
        #     driver.add_cookie(cookie)
    

    第二种方法比较简单点,我自己也用第二种。

    这时候发现没有报错了,可以发现,怎么还是登录之前的页面啊? 为什么cookies插入成功了却不是登陆后的页面?

    这时,只需要在最终代码后面添加如下代码:driver.refresh() 让浏览器自动刷新,即可显示登录后的页面了。

    展开全文
  • cookie登录KinhDown教程

    千次阅读 2020-11-25 20:08:11
    复制STOKEN和BDUSS对应的值value,按照此格式复制到KinhDown中登录界面cookie登录。 BDUSS=XXX;BDSTOKEN=XXX KinhDown官网:https://kinhdown.kinh.cc/ KinhDown下载:蓝奏云:...

    1.登录百度网盘网页版

    2.在浏览量中,按F12(Fn+F12)

    出现如下界面

    3.选择Application—>Cookies

    复制STOKEN和BDUSS对应的值value,按照此格式复制到KinhDown中登录界面cookie登录。

    BDUSS=XXX;BDSTOKEN=XXX

    KinhDown官网: https://kinhdown.kinh.cc/

    KinhDown下载:蓝奏云:https://ubaq.lanzous.com/s/KinhDown

    4.最后

    百度网盘正是靠着限速收费,才存活到今天。

    建议大家今后经济允许了,把欠百度的补上!!!

    展开全文
  • 怎样使用cookie登录自己的账号

    千次阅读 2018-12-03 09:38:03
    在这之前,不管是做测试还是挖漏洞总会遇到这种问题 做测试的时候测试项里面有一个...在挖漏洞的时候一般xss都需要打cookie然后伪造别人的身份登录,其实也是使用打到的cookie登录 在这之前我没深入的理解这块,现...
  • Appscan cookie登录扫描

    千次阅读 2016-07-02 17:32:01
    Appscan的cookie登录扫描的设置: 扫描配置———参数和cookie——显示模版——cookie jsessionid——填写固定值即可
  • 这篇博客实现用户登录验证以及使用cookie登录,它承接了前面的几个博客: 1. php连接mysql实例之新用户注册实现 2. php连接mysql实例之后台列表显示已注册的用户信息 3. php连接mysql实例之删除某条已注册的...
  • 研究了一下怎么使用cookie登录网站,代码写的很乱,功能已实现,算是自己记录一下。 以下是登录扣扣的例子。 from seleniumbase import BaseCase import json import pickle from time import sleep class ...
  • 使用cookie登录百度网盘账号

    万次阅读 2019-10-08 22:56:19
    2.查看当前使用的cookie 3.获取BDUSS 4.获取STOKEN 5.组合成:BDUSS=xxxxxx; STOKEN=xxxxxx,复制到PanDownload登录即可 1.使用Chrome浏览器登录百度网盘网页版https://pan.baidu.com/ 2.查看当...
  • python3爬虫 - cookie登录实战

    万次阅读 2015-08-24 11:03:14
    实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.hit.edu.cn/hoj/system/login 查看要传送的post数据 user和password Code: #!/usr/bin/env python # -*-
  • 使用cookie登录

    千次阅读 2018-07-29 22:20:36
    前言: 什么是cookie? Cookie,指某些网站为了辨别用户身份、进行...那么我们可以利用Urllib库保存我们登录Cookie,然后再抓取其他页面,这样就达到了我们的目的。 一、Urllib库简介 Urllib是python内置的H...
  • IPhone UC 浏览器基于cookie登录的用户无法退出问题。 其实是在服务端添加 cookie 时 httponly 设置为true 在服务端删除失败,导致的用户无法退出。 事件还原 在服务端增加 cookie 时 httponly 参数设置为 true,...
  • 简单实现Cookie登录

    千次阅读 2018-06-15 13:15:15
     当不选择自动登录时,跳转到首页,cookie保存在内存中。当浏览器关闭时cookie消失,下次进入登录页面需要再次输入密码。 选择自动登录后,跳转到首页,cookie保存在硬盘中。当到了过期时间或者手动删除cookie才...
  • 安全cookie登录状态设计方案

    千次阅读 2015-09-28 00:27:02
    上篇文章刚介绍了cookie based session,那么,如何保存cookie登录的状态安全性? 我们知道web是基于HTTP协议传输的,明文传输是极其危险的,随便哪个抓包工具分析下数据包,就over啦,一个加密的传输过程应该包括...
  • 使用 cookie 登录百度

    千次阅读 2019-12-12 11:38:25
    1. 可以通过手动的方式去取,比如登录之后在 console 里面执行 document.cookie 即可获得 2. 在 application 里面查看 cookie 的值 3. 通过 webdriver.Chrome(...) 创建出来的实例,调用 get_cookies() 就可以获取...
  • 下面的cookie内容是从登录后浏览器中复制的 如果不加cookie会提示无法登录 因为你之前没有登陆过 加了之后就可以登陆了 //////////////////////////////// from urllib.request import Request, urlopen from fa
  • 1 环境:Python 3 +urllib库  ... 2 背景: 现在许多网站都需要登录后才能访问某个页面,在登陆之前,我们是没有...利用urlib库保存我们登录时的cookie值,然后在之后的页面请求时,连同保存的cookie一同传递过去...
  • CURL模拟cookie登录

    千次阅读 2013-08-16 11:12:29
    //第一步:提交数据,生成cookie,将cookie保存在临时目录下 //在指定目录中建立一个具有唯一文件名的文件。如果该目录不存在,tempnam() 会在系统临时目录中生成一个文件,并返回其文件名 $cookie_file=tempnam('./...
  • 候鸟浏览器cookie登录教程

    千次阅读 2021-07-14 11:50:53
    设置中找到cookie管理,选择导入cookie,把买到的cookie文档保存到桌面,直接导入就可以了,导入环境包也是一样的,也可以先导入环境包再导入cookie 如有需要微博,豆瓣知乎,贴吧,Instagram,Facebook脸书,推特...
  • pandownload使用cookie登录

    万次阅读 2019-08-19 10:32:35
    突然打开一个白板,死活没办法登录……好吧,找找cookie办法 拼接cookie ①使用Chrome浏览器登录百度网盘网页版:https://pan.baidu.com/ ②查看当前使用的cookie (自行百度查看cookie的步骤) ③获取BDUSS ...
  • Jsoup Cookie登录处理

    千次阅读 2020-01-28 22:50:10
    获取浏览器的cookie 打开浏览器(自测谷歌浏览器和火狐浏览器都可以),按下F12打开开发者模式,点击Console打开控制台,键入命令:javascript:alert(document.cookie),回车即可看到浏览器在当前网站的缓存 使用...
  • 使用cookie登录网站(人人网)

    千次阅读 2018-06-26 21:46:14
    1、cookie登录主要步骤: # 创建一个cookiejar对象 cj = http.cookiejar.CookieJar() # 通过cookiejar创建一个handler handler = urllib.request.HTTPCookieProcessor(cj) # 根据handler创建一个opener opener...
  • sqlmap伪静态注入与携带cookie登录认证注入
  • 通过修改Cookie登录后台

    千次阅读 2019-03-17 15:31:26
    如何通过已存在的Cookie,进入博客园后台,我用IE浏览器和Chrome浏览器来测试! 首先我们通过IE浏览器拿到我们登入博客园后的Cookie,通过IECookiesview插件可以查看到IE浏览器下所有的Cookie信息,然后我们找到...
  • Android WebView保存Cookie登录

    千次阅读 热门讨论 2016-06-29 11:37:51
    因项目需要,需要在App中嵌入网页,使用Nativie方式登录,然后将cookie保存到WebView中,实现免登录功能。同步Cookie到WebView的方法网上有大量的参考资料,也可以参考下面的代码: /** * Sync Cookie */ private...
  • cookie登录功能实现

    千次阅读 2014-07-17 13:54:53
    网站常用的记住我,或是一周内自动登录,这些功能一般都是是用cookie进行登录的!下面对此功能进行分析: package cookielogin; import java.io.IOException; import javax.servlet.Filter; import javax....
  • Jmeter 接口测试用cookie登录验证

    千次阅读 2019-05-15 11:47:25
    现记录下接口测试时,怎么用cookie通过登录验证. 准备工作: Chrome登录下,然后F12,点击application->storage->cookies, 查看请求所带的cookie.如下图所示,找到xx_sessionid,一般只需要...
  • sso与cookie登录那些事儿

    千次阅读 2018-03-05 19:00:22
    一 SSO/CAS基础知识CAS(Central Authentication Service)是Yale大学的一个开源项目,旨在为Web应用系统提供一种可靠的单点登录解决方法,CAS实现SSO过程如图(图片来源于网络)实现步骤1. 访问服务:SSO客户端...
  • 拦截一些请求进行处理,比如通过它来进行权限验证,或者是来判断用户是否登陆,日志记录,编码,或者限制时间点访问等等,...JavaWeb--Servlet过滤器Filter和SpringMVC的HandlerInterceptor(Session和Cookie登录认证)
  • 通过burpsuite替换cookie登录后台

    千次阅读 2019-02-11 15:47:00
    通过burpsuite可以比较方便的替换http头部的cookie、useragent等字段,在获取到用户的cookie后实现登录。具体使用方法如下: 如替换cookie,可以写正则表达式^Cookie.*$,替换内容则为cookie字段完整的内容。部分...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 199,682
精华内容 79,872
关键字:

cookie登录