数据采集:selenium 提取 Cookie 自动登陆

这篇具有很好参考价值的文章主要介绍了数据采集:selenium 提取 Cookie 自动登陆。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面


  • 工作需要,简单整理
  • 博文内容涉及 通过 selenium 实现自动登陆
  • 理解不足小伙伴帮忙指正

对每个人而言,真正的职责只有一个:找到自我。然后在心中坚守其一生,全心全意,永不停息。所有其它的路都是不完整的,是人的逃避方式,是对大众理想的懦弱回归,是随波逐流,是对内心的恐惧 ——赫尔曼·黑塞《德米安》


未登陆用户

保存 cookie

假设登陆用户名为 : chinaz_7356287

我们需要获取一些 CDN 的数据,代码很简单,不做说明,自动登陆 站长之家的 CDN 网站 https://cdn.chinaz.com/

from selenium import webdriver
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
import re
import pandas as pd
import json

browser = webdriver.Chrome()
browser.get("https://cdn.chinaz.com/")
time.sleep(4)
# 需要根据页面编写
browser.find_element(By.CSS_SELECTOR, ".userbar").find_element(By.TAG_NAME, "a").click()
print("等待登录...")
while True:
    try:
        time.sleep(10)
        # 需要根据页面编写 判断用户名是否存在
        if browser.find_element(By.CSS_SELECTOR,".username").text == "chinaz_7356287":
            print("已登录,保存 cookie...")
            with open('cookie.txt', 'w', encoding='u8') as f:
            json.dump(browser.get_cookies(), f) 
            browser.close()
            print("cookie保存完成,游览器已自动退出...")
        else:
            time.sleep(3)
    except:
        pass
        print("登陆页面未出现,重试中")
    finally:
        pass        
        

获取到的 JSON 数据

[
    {
        "domain": ".chinaz.com",
        "expiry": 1693423590,
        "httpOnly": false,
        "name": "chinaz_topuser",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "92da5ff9-69ac-c0b7-73ab-040cb089d48f"
    },
    {
        "domain": ".chinaz.com",
        "expiry": 1693884390,
        "httpOnly": true,
        "name": "ucvalidate",
        "path": "/",
        "sameSite": "None",
        "secure": true,
        "value": "9aba1eb9-8b70-019b-8352-43ff4719eb84"
    },
    {
        "domain": ".chinaz.com",
        "httpOnly": false,
        "name": "Hm_lpvt_ca96c3507ee04e182fb6d097cb2a1a4c",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "1692588387"
    },
    {
        "domain": ".chinaz.com",
        "expiry": 1724124387,
        "httpOnly": false,
        "name": "Hm_lvt_ca96c3507ee04e182fb6d097cb2a1a4c",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "1692588387"
    }
]

使用 cookie 自动登陆

from seleniumwire import webdriver
import json
import time

# 自动登陆
browser = webdriver.Chrome()
with open('C:\\Users\山河已无恙\\Documents\GitHub\\reptile_demo\\demo\\cookie.txt', 'r', encoding='u8') as f:
    cookies = json.load(f)

browser.get('https://cdn.chinaz.com/')
for cookie in cookies:
    browser.add_cookie(cookie)

browser.get('https://cdn.chinaz.com/')


time.sleep(10000)

以登陆用户

对于已经存在的用户,我们直接通过当前会话可以获取cookie 信息,然后直接替换对应的值

[
    {
        "domain": ".chinaz.com",
        "expiry": 1693423590,
        "httpOnly": false,
        "name": "chinaz_topuser",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "92da5ff9-69ac-c0b7-73ab-040cb089d48f"
    },
    {
        "domain": ".chinaz.com",
        "expiry": 1693884390,
        "httpOnly": true,
        "name": "ucvalidate",
        "path": "/",
        "sameSite": "None",
        "secure": true,
        "value": "9aba1eb9-8b70-019b-8352-43ff4719eb84"
    },
    {
        "domain": ".chinaz.com",
        "httpOnly": false,
        "name": "Hm_lpvt_ca96c3507ee04e182fb6d097cb2a1a4c",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "1692588387"
    },
    {
        "domain": ".chinaz.com",
        "expiry": 1724124387,
        "httpOnly": false,
        "name": "Hm_lvt_ca96c3507ee04e182fb6d097cb2a1a4c",
        "path": "/",
        "sameSite": "Lax",
        "secure": false,
        "value": "1692588387"
    }
]

控制台输入 console.log(document.cookie); 打印 cookie ,然后复制对应的 value 到上面的 JSON

console.log(document.cookie);

VM64:1 toolUserGrade=DA558BECA59696EB6D6F7073658259093B6A1006BF1EE9768104ED4EF435DFFE7A7CCE826E9718B7BF5917ABBB8378EB9F2A2DF83F2D261B6ABB5FF77D3EB74948E7E207D35739840897873E9CED6A06188A7269E8D6621D2A3EB35366EE2939BD52587A8E5FD9CFD5B7FADCEA248B51B971062D27AB402FF41885786B87AD00; bbsmax_user=096a40c7-f2ba-8f87-f56a-bb8c65838157; chinaz_zxuser=c55d2eaa-e630-99a5-3d19-82c6cbadc2e3; Hm_lvt_ca96c3507ee04e182fb6d097cb2a1a4c=1692590966; Hm_lpvt_ca96c3507ee04e182fb6d097cb2a1a4c=1692590966; toolbox_urls=1.180.204.161|jiuzhoufangyuan.cn|daoxinwuliu.com|www.lzfjyl.com|lzfjyl.com|herunnongye.com|danyu.com.cn|www.danyu.com.cn|encrypt-k-vod.xet.tech; chinaz_topuser=f38f3b0f-4c0d-57d8-8f2d-35180d6e13a5

之后可以使用相同的方式登陆

博文部分内容参考

© 文中涉及参考链接内容版权归原作者所有,如有侵权请告知



© 2018-2023 liruilonger@gmail.com, All rights reserved. 保持署名-非商用-相同方式共享(CC BY-NC-SA 4.0)文章来源地址https://www.toymoban.com/news/detail-687926.html

到了这里,关于数据采集:selenium 提取 Cookie 自动登陆的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 基于selenium和bs4的通用数据采集技术(附代码)

    基于selenium和bs4的通用数据采集技术(附代码)

    本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概述 Visual Studio Code及Remote

    2024年04月14日
    浏览(8)
  • 最新壁纸自动采集系统网站PHP源码/360壁纸官方数据接口采集/ZHEYI采集源码

    最新壁纸自动采集系统网站PHP源码/360壁纸官方数据接口采集/ZHEYI采集源码

    源码介绍: 最新壁纸自动采集系统网站PHP源码,它是ZHEYI自动采集源码,能够在360壁纸官方数据接口采集。很好用的壁纸网站源码分享,仅供学习,请勿商用。 ZHEYI自动采集壁纸PHP源码,能全自动采集高清壁纸网源码。它是是一个基于360壁纸官方数据接口的PHP网站源码,通过

    2024年02月08日
    浏览(8)
  • MCU自动测量单元:自动化数据采集的未来

    MCU自动测量单元:自动化数据采集的未来

    随着科技的飞速发展,自动化技术在各个领域中的应用日益广泛。其中,MCU(微控制器)自动测量单元以其高效、精准的特性,成为自动化数据采集领域的佼佼者,引领着未来数据采集技术的革新。本文将深入探讨MCU自动测量单元的原理、优势以及在自动化数据采集领域的应用

    2024年04月29日
    浏览(7)
  • Python爬虫实战:自动化数据采集与分析

    在大数据时代,数据采集与分析已经成为了许多行业的核心竞争力。Python作为一门广泛应用的编程语言,拥有丰富的爬虫库,使得我们能够轻松实现自动化数据采集与分析。本文将通过一个简单的示例,带您了解如何使用Python进行爬虫实战。 一、环境准备 首先,确保您已经

    2024年02月11日
    浏览(17)
  • 基于Python的51job(前程无忧)招聘网站数据采集,通过selenium绕过网站反爬,可以采集全国各地数十万条招聘信息

    使用Python编程语言和Selenium库来实现自动化的网页操作,从而实现登录、搜索和爬取职位信息的功能。 首先,导入了所需的库,包括time用于处理时间,selenium用于模拟浏览器操作,csv用于写入CSV文件,BeautifulSoup用于解析网页数据。然后,定义了一个名为login的函数,该函数接

    2024年01月19日
    浏览(25)
  • 自动切换HTTP爬虫ip助力Python数据采集

    自动切换HTTP爬虫ip助力Python数据采集

    在Python的爬虫世界里,你是否也被网站的IP封锁问题困扰过?别担心,我来教你一个终极方案,让你的爬虫自动切换爬虫ip,轻松应对各种封锁和限制!快来跟我学,让你的Python爬虫如虎添翼! 首先,让我们来了解一下自动切换爬虫ip的终极方案是什么? 自动切换爬虫ip方案:

    2024年02月13日
    浏览(11)
  • 用DolphinScheduler轻松实现Flume数据采集任务自动化!

    转载自天地风雷水火山泽 因为我们的数仓数据源是Kafka,离线数仓需要用Flume采集Kafka中的数据到HDFS中。 在实际项目中,我们不可能一直在Xshell中启动Flume任务,一是因为项目的Flume任务很多,二是一旦Xshell页面关闭Flume任务就会停止,这样非常不方便,因此必须在后台启动

    2024年04月24日
    浏览(9)
  • C#手术麻醉临床信息系统源码,实现体征数据自动采集绘制

    C#手术麻醉临床信息系统源码,实现体征数据自动采集绘制

    手麻系统源码,自动生成电子单据 基于 C#  + 前端框架: Winform+ 后端框架: WCF  + 数据库: sqlserver  开发的手术麻醉临床信息系统源码,应用于医院手术室、麻醉科室的计算机软件系统。该系统针对整个围术期,对病人进行全程跟踪与信息管理, 采用计算机和通信技术,实

    2024年02月01日
    浏览(11)
  • 使用iCloud和Shortcuts实现跨设备同步与自动化数据采集

    使用iCloud和Shortcuts实现跨设备同步与自动化数据采集

    在如今的数字时代,跨设备同步和自动化数据采集对于提高工作效率和便利性至关重要。苹果的iCloud和Shortcuts App为我们提供了强大的工具,可以实现跨设备同步和自动化数据采集的功能。本文将详细介绍如何利用iCloud和Shortcuts App实现这些功能,并提供具体的使用步骤,让您

    2024年02月09日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包