精华内容
下载资源
问答
  • 今天小编就为大家分享一篇python 利用浏览器 Cookie 模拟登录的用户访问知乎的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • python3爬虫 - 利用浏览器cookie登录

    万次阅读 2015-08-25 17:51:53
    爬虫爬网站不免遇到需要登录的问题. 登录的时候可能还会碰到需要填验证码的问题, 有的验证码甚至是拖动拼图来完成的. 虽然现在这些都有开源解决方案, 但是假设现在主要的精力想要放在如何解析html, 或者验证抓取算法...

    http://blog.csdn.net/pipisorry/article/details/47980653

    爬虫爬网站不免遇到需要登录的问题. 登录的时候可能还会碰到需要填验证码的问题, 有的验证码甚至是拖动拼图来完成的. 虽然现在这些都有开源解决方案, 但是假设现在主要的精力想要放在如何解析html, 或者验证抓取算法上, 而不是通过登录验证上, 那么开源解决方案并不是最好的解决方案.更好的方案是获取浏览器的 Cookies, 然后让 requests 这个库来直接使用登录好的 Cookies. 

    获取 Chrome 浏览器的 Cookies 信息的函数
    程序在 Windows 下调试通过, 因为 C 盘需要特殊权限来读写文件, 因此程序先将 Cookies 数据库文件拷贝到当前目录. 

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    """
    __author__ = 'pi'
    __email__ = 'pipisorry@126.com'
    """
    import subprocess
    import sqlite3
    import win32crypt
    
    import requests
    
    SOUR_COOKIE_FILENAME = r'C:\Users\pi\AppData\Local\Google\Chrome\User Data\Default\Cookies'
    DIST_COOKIE_FILENAME = '.\python-chrome-cookies'
    
    
    def get_chrome_cookies(url):
        subprocess.call(['copy', SOUR_COOKIE_FILENAME, DIST_COOKIE_FILENAME], shell=True)
        conn = sqlite3.connect(".\python-chrome-cookies")
        ret_dict = {}
        for row in conn.execute("SELECT host_key, name, path, value, encrypted_value FROM cookies"):
            # if row[0] not in url:
            if row[0] != url:
                continue
            print(row[0])
            ret = win32crypt.CryptUnprotectData(row[4], None, None, None, 0)
            ret_dict[row[1]] = ret[1].decode()
        conn.close()
        subprocess.call(['del', '.\python-chrome-cookies'], shell=True)
        return ret_dict
    

    使用requests

    DOMAIN_NAME = '.jobbole.com'
    get_url = r'http://www.jobbole.com/'
    response = requests.get(get_url, cookies=get_chrome_cookies(DOMAIN_NAME))
    print(response.text)

    Note: 要安装requests库,安装及使用blog[python爬虫 - python requests网络请求简洁之道]

    使用urllib

    import urllib.request
    
    DOMAIN_NAME = '.jobbole.com'
    get_url = r'http://www.jobbole.com/'
    headers = {'Cookie': ['='.join((i, j)) for i, j in get_chrome_cookies(DOMAIN_NAME).items()][0]}
    request = urllib.request.Request(get_url, headers=headers)
    response = urllib.request.urlopen(request)
    print(response.read().decode())

    Note:

    1. chrome浏览器加密后的密钥存储于%APPDATA%\..\Local\Google\Chrome\User Data\Default\Login Data"下的一个SQLite数据库中,可以通过Sqlite浏览器来查看一下登陆文件中的数据。密码是调用Windows API函数CryptProtectData来加密的。这意味着,只有用加密时使用的登陆证书,密码才能被恢复。而这根本不是问题,在用户登陆环境下执行解密就OK。SQLite数据库中password_value(是二进制数据,所以SQLite浏览器不能显示)。而破解密码,只需要调用Windows API中的CryptUnprotectData函数。[谷歌Chrome浏览器是如何存储密码的][浏览器是如何存储密码的]

    2. Python为调用Windows API准备了一个完美的叫做pywin32的库。只有安装了pywin32才能调用win32crypt。安装教程见[linux和windows下安装python拓展包]


    当你的输出中存在“个人主页”“退出登录”字样,就说明登录成功了,否则只会有“登录”“注册”之类的字符串。

    此方法同样可以应用于知乎等等网站的登录。

    皮皮Blog



    获取 Chrome 浏览器的 Cookies 信息的的另一种方法

    chrome > 更多工具 > javascript控制台 > 对应当前页面输入document.cookie。就可以得到当前网页的cookie相关内容,复制到代码中就可以使用了。

    或者使用fiddler2,headers中找到Cookie: wordpress_logged_in_0efdf49af511fd88681529ef8c2e5fbf=*************************[cookie登录实战 - 也可以下载软件Fiddler部分]

    wordpress_logged_in_0efdf49af511fd88681529ef8c2e5fbf=pipiyn%7C1440989529%7C45ec5e30a3b24a68208815cc5c572c14

    get_url = r'http://www.jobbole.com/'
    cookies = {'wordpress_logged_in_0efdf49af511fd88681529ef8c2e5fbf': '***username****%*******%**********'}
    response = requests.get(get_url, cookies=cookies)
    print(response.text)

    Note:

    1. domain.com 是一级域名,www.domain.com 是域名 domain.com 的一个比较特殊的二级域名。他的特殊就在于现在的实践中,人们在解析域名的的时候,在惯例和默认的情况下,是把 www.domain.com 这个二级域名指向它的一级域名 domain.com。因此,现在的大部分情况下,domain.com 和 www.domain.com,都是一样的。 但是如果在解析域名的时候,没有做这样的设定,也可能就会有区别。

    2. 不过可能document.cookie 获取到 www.domain.com 的 cookies, 而不是 .domain.com 的。

    from:http://blog.csdn.net/pipisorry/article/details/47980653

    ref:Python 爬虫解决登录问题的另类方法


    展开全文
  • 百度COOKIE浏览器,导入百度COOKIE账号,可自动登录网页百度。
  • 首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET. 将 Cookies 复制出来,注意这一行非常长,不要人为添加换行符。而且 ...

    首先在火狐浏览器上登录知乎,然后使用火狐浏览器插件 Httpfox 获取 GET 请求的Cookie,这里注意使用状态值为 200(获取成功)的某次GET.

    将 Cookies 复制出来,注意这一行非常长,不要人为添加换行符。而且 Cookie 中使用了双引号,最后复制到代码里使用单引号包起来

    使用下边代码检验是否是模拟了登录的用户的请求:

    import requests
    import re
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0',
    'Cookie':'q_c1=034d8149e54a425496b7dd78be571390|1496424997000|1496424997000; r_cap_id="ZDE4MTg2NGFhMjdlNDlhMTllZWFlMmJmNjkzN2MyMzI=|1496487358|d6df41ad90d6d1a94bcbd27f2962fea69d2ec1b6"; cap_id="OTc1NmViYzJlNDZjNDVlY2E1YTZiNTZjNTFkMjZkNDY=|1496487358|52ac19a9e05ee48e155d2b4d57d414792873c062"; d_c0="AEACLgSM2guPTmR8y-3r_XCeIy3RVmMIrQ0=|1496424997"; __utma=51854390.870770348.1496424950.1496483801.1496485796.4; __utmz=51854390.1496485796.4.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmv=51854390.100--|2=registration_date=20141101=1^3=entry_date=20141101=1; _zap=5b305d08-cca7-4182-b1a8-1d8190e94a3b; aliyungf_tc=AQAAAFdv8y0T4AMAj5NK3+HVvqiouPgb; acw_tc=AQAAAHPUpVJ7LQQAj5NK35xm3ILOPUBu; _xsrf=85bb3aa751345649abdd275cb42ed704; __utmc=51854390; capsion_ticket="2|1:0|10:1496486629|14:capsion_ticket|44:ODJkNDE0MDQ1MjNmNDYwZTlhZGViZWNhNWNlZDI4Y2E=|6ded3f3e82c25526f236a4bd135705bb334e25d8df96750d89afa5ae4ab49a04"; __utmb=51854390.8.10.1496485796; __utmt=1; z_c0=Mi4wQUFCQVJBVV9BQUFBUUFJdUJJemFDeGNBQUFCaEFsVk56U0phV1FCdTNCeVduZVZ3X0hweWxnWTRIeTZmMmtyUEFn|1496487376|d6107bbdbb3ccd015757953a40ee1ecedae6834c'
    }
    r = requests.get("https://www.zhihu.com/question/20273782", headers = headers)
    text = r.text
    re.compile(r"加入知乎").search(text)
    如果是登录的用户,响应的内容中包含用户名。没用登录的话,响应的内容中包含 “登录”,“加入知乎” ,可以据此来判断。

    Cookie 每次登录的值都不一样,退出之后再登录需要重新采集。

    展开全文
  •  cookie是浏览器端的存储容器,而且它是多页面共享的,利用cookie多页面共享的特性,可以实现多个标签页的通信。  比如: 一个标签页发送消息(将发送的消息设置到cookie中),一个标签页接收消息(从cookie中...

    原理:

      cookie是浏览器端的存储容器,而且它是多页面共享的,利用cookie多页面共享的特性,可以实现多个标签页的通信。

      比如: 一个标签页发送消息(将发送的消息设置到cookie中),一个标签页接收消息(从cookie中获取消息)

    利用cookie+setinterval方式实现的标签页通信优点?

         优点:每个浏览器都兼容

    缺点?

        cookie有空间限制,每个浏览器在每个域名下最多能设置30-50个cookie,容量最多为4k左右。

        因为cookie默认携带信息,每次http请求会把当前域名的所有cookie发送到服务器上,有用没用的全发过去,浪费网络宽带

        使用setInterval的频繁设置刷新,使页面不断的重排重绘,过大的影响到了浏览器的性能。

     

    例子:  

    01  发送消息的标签页(其实就是将要发送的消息设置到cookie中)

     

    <!DOCTYPE html>
    <html lang="en">
    <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>Document</title>
    </head>
    <body>
                            <!-- 这个页面用来发送信息(设置cookie的值)  -->
          <input type="text" id='msg1'><br>   <!--输入框  msg1 -->
          <input type="text" id='msg2'><br>   <!--输入框  msg2 -->
          <button id="send">发送</button>     <!-- 点击发送按钮触发send事件 -->
          <script>
                send.onclick=function(){
                      if(msg1.value.trim()!=='' && msg2.value.trim()!==''){  //如果msg1和msg2的内容不是空的,执行if语句
                            document.cookie='msg1='+msg1.value.trim();       // 将msg1和msg2的值放入cookie中(给cookie赋值)
                            document.cookie='msg2='+msg2.value.trim();       // cookie 格式   msg=value
                      }                                                      //因为cookie的值是多页面共享的,所以可以实现标签页的传值
                
                }
          </script>
    </body>
    </html>

     

    02  接收消息的标签页(其实就是从cookie中获取消息并显示在页面)

    <!DOCTYPE html>
    <html lang="en">
    <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <meta http-equiv="X-UA-Compatible" content="ie=edge">
          <title>Document</title>
    </head>
    <body>
                      <!-- 这个页面用来接收信息(获取cookie的值 ) -->
          <h1>收到消息:<span id="recMsg1" ></span></h1>
          <h1>收到消息:<span id="recMsg2" ></span></h1>
          <script>
               
                      // 获取cookie的方法   document.cookie
                      // 01 将cookie中的值   msg1=hellwo; msg2=word   转变为 json字符串 格式 {"msg1":"hellwo","msg2":"word"}
    
                      function getKey(key){
                            var obj='{"'+document.cookie.replace(/=/g,'":"').replace(/;\s+/g,'","')+'"}'
                            var cookies=JSON.parse(obj) // 02 将json字符串转为 对象
                            return cookies[key]
                            
                      }
                      setInterval(() => {//加入定时器,让函数每一秒就调用一次,实现页面刷新
                            recMsg1.innerHTML=getKey("msg1")//将msg1的值设置到页面recMsg1处
                            recMsg2.innerHTML=getKey("msg2")//将msg2的值设置到页面recMsg2处
                      }, 1000);
                
                      
                      
    
                      
                
          </script>
    
    </body>
    </html>

     

    转载于:https://www.cnblogs.com/javascript9527/p/javascript9527.html

    展开全文
  • 候鸟浏览器cookie登录教程

    千次阅读 2021-07-14 11:50:53
    1.下载一个候鸟浏览器(下载链接: https://www.mbbrowser.com),随便找个邮箱注册个候鸟账号,候鸟浏览器里面是谷歌浏览器,可能需要梯子(v.p.n)才能打开,建议用香港IP

    1.下载一个候鸟浏览器(下载链接: https://www.mbbrowser.com ),随便找个邮箱注册个候鸟账号,候鸟浏览器里面是谷歌浏览器,可能需要梯子(v.p.n)才能打开,建议用香港IP

    2.创建环境配置,创建环境配置之前一定要先打开IP才方便后面使用

     3.创建环境点开后(如下图),检查代理(代理测试成功),创建环境。如果检测失败请跟换代理IP从新检测

     4.设置中找到cookie管理,选择导入cookie,把买到的cookie文档保存到桌面,直接导入就可以了,导入环境包也是一样的,也可以先导入环境包再导入cookie

     如有需要微博,豆瓣知乎,贴吧,Instagram,Facebook脸书,推特Twitter,Tiktok等。
    半梦商城;facebook998点康(.com)

    展开全文
  • 如何利用浏览器查看Cookie

    千次阅读 2020-03-20 23:08:10
    方法/步骤 我们打开浏览器,点击右上角的按钮,如下图所示 然后选择更多工具下面的开发者工具选项,如下图所示 ... 然后我们点击左侧的Cookie... 最后我们选择某个地址就可以在右侧看到cookie值了,如下图...
  • web项目里嵌套了另一个项目,用长连接监听浏览器关闭或者刷新时间,然后记录日志。但是我的初始化长连接的JS的页面在切换菜单或者刷新时都会重新加载,造 成数据库记录混乱。问了一些人说可以用cookie做一个类似全局...
  • PHP利用cookie保存登录信息

    千次阅读 2017-06-05 15:53:06
    Cookie是在客户端由浏览器维护的存储空间,利用它可以保存用户相关信息,本博文以PHP语言为基础,给出利用cookie保存用户登录名和密码的实现例子,然而须知cookie安全性较差,在实际应用中不宜采用cookie保存私密...
  • 利用cookie信息登录web站点

    千次阅读 2019-02-27 17:42:02
    利用cookie信息登录web站点   日常生活中,每当登录一个网站站点、客户端程序都会用到验证方式,账号密码、手机短信验证码登录自己的账号;一年下来我发现以前常用的账号密码登录都在改变为手机短信验证码登录...
  • Python3之利用Cookie模拟登录

    千次阅读 2018-05-15 12:01:00
    Python3之利用Cookie模拟登录 利用Cookie模拟登录步骤: 1. 在浏览器输入http://demo.bxcker.com,输入用户名和密码登录。 2.登录成功点“客户管理”模块。 3. 进入客户管理模块,显示客户列表。 4....
  • 1.第一步F12 打开控制台 2.第二步点击控制台Conolse 3.第三步输入documen.cookie 4.第四步 查看返回的cookie信息
  • 该资源主要利用Cookie是由服务器端生成并储存在浏览器客户端上的数据。浏览器接收到来自服务器的Cookie数据之后默认将其保存在浏览器缓存中(如果浏览器关闭,缓存消失,Cookie数据消失),只要浏览器不关闭,当我们...
  • 用候鸟浏览器实现亚马逊cookie号(CK号)免密一键导入导出清空视频教程 黑科技:候鸟浏览器实现chrome谷歌浏览器插件一键cookie号导入导出清楚删除清空登陆 用候鸟浏览器实现亚马逊cookie号(CK号)免密一键导入...
  • 目前想要做一个关于京东的爬虫程序,卡在了登录验证码的地方,获取的验证码貌似是伪码,无法完成登录。于是准备利用浏览器登录后的cookie放进爬虫里面直接访问登录,不知道这样可行吗?具体实现方式是什么呢?
  • 说明:原理性的东西在后续的章节会涉及、此处讲述使用说明。...2.Cookie数据所有的浏览器端共享、Session数据由服务器开辟内存保存、每一个浏览器都有一个唯一的SessionID 人手一份 二、首先需要介绍一下FormsAu...
  • phantomJS利用cookie实现自动登录

    万次阅读 热门讨论 2017-10-18 17:51:08
    phantomjs是一个基于webkit内核的无头浏览器。即没有UI界面的一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现。...cookie可以用来进行自动登录,原理大致是:第一次登录成功后,服务器会生成和该用户
  • Cookie是一种服务器发送给浏览器的一组数据,用于浏览器跟踪用户,并访问服务器时保持登录状态等功能。 通常用户登录的时候,服务器根据用户名和密码在服务器数据库中校验该用户是否正确,校验正确后则可以根据用户...
  • 利用cookie免账号密码登录b站

    万次阅读 2019-05-08 00:41:59
    document.cookie ="SESSDATA=49d4147c%256557247677%2Cf295e641;...登录b站,f12打开浏览器控制台,复制之前账号登录请求头里的 对应的cookie信息 添加到上面 document.cookie的参数里 然后刷新浏览器即可 ...
  • Python利用cookie模拟登录,爬取指定关键词的淘宝商品信息-Selenium 1. 本文目标 由于淘宝网站的不断更新,以前的爬取方法都无法重现,必须需要登录淘宝网站才可以进行搜索商品。所以我们要利用Selenium抓取淘宝商品...
  • python利用cookie登录网站进行访问

    千次阅读 2017-09-14 15:49:42
    然而,如果换一种思路,先用浏览器登录你想访问的网站,再在浏览器的控制台里找到该网站的cookie,然后利用这个cookie进行带cookie的访问,无疑是短时间内解决此问题的好办法。但是我们都知道cookie的有效期并不长,...
  • 模拟浏览器登录淘宝

    千次阅读 2018-11-20 08:47:05
    模拟浏览器登录淘宝,使用传统的Selium以及phantomjs拖动滑块验证目前已经被淘宝识别,所以只能携带cookie登录,常用的方式就是用抓包工具抓取请求没然后添加在headers里,这里介绍的是手工登录保存cookie到本地,还是...
  • 使用浏览器Cookie

    千次阅读 2011-12-31 19:43:46
    Cookie是有Netscape浏览器1.0版引入的。Netscape 的开发人员发明了Cookie。   1. Cookie 是如何工作的? Web服务器创建一个Cookie时,一个附加的HTTP头部在浏览器显示页面时被发送到浏览器。 HTTP头部类似如下...
  • Cookie 并不是它的原意“甜饼”的意思, 而是一个保存在客户机中的简单的文本文件, 这个文件与特定的 Web 文档关联在一起, 保存了该客户机访问这个Web 文档时的信息, 当客户机再次访问这个 Web 文档时这些信息可供该...
  • response.setCharacterEncoding("UTF-8"); response....charset=UTF-8"); PrintWriter out = response.getWriter(); out.print("您上次访问时间是:"); ...//获得用户的时间cookie Cookie cookies[] = req
  • 以下代码实现使用谷歌浏览器的cookie登录京东网站并获取订单列表# -*- coding:'utf-8' -*-import sqlite3 import cookielib import urllib2 import os,sys import win32crypt def build_opener_with_chrome_cookies...
  • Java利用Cookie或Session实现登录验证

    千次阅读 2020-06-21 23:08:51
    简单的登录验证可以通过Session或者Cookie实现,具体如下: 一、利用Session实现登录验证 1、自定义HandlerInterceptor public class LoginInterceptor implements HandlerInterceptor { @Override public ...
  • 利用cookie实现b站免账号密码登录

    千次阅读 2020-06-17 23:26:19
    document.cookie ="SESSDATA=49d4147c%2C...在一个没有保存b站cooki信息的网站上访问b站,然后f12打开控制台 将之前登录cookie信息中对应的字段替换上面的对应的部分然后输入,回车刷新浏览器后即可生效 ...
  • 对于selenium中进行add_cookie...2、然后利用editthiscookie插件将该网站保存在的浏览器中的所有cookie导出,然后利用python里内置的json包进行json.loads(jsonString)的加载转成一个list集合 fp = open("cooki...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 105,609
精华内容 42,243
关键字:

利用cookie浏览器登录