22_selenium_使用cookie直接登录

selenium模拟浏览器解决反监测,获取cookies解决登录问题 网络上设立了许多各种反爬的监测各式各样,但并不会非常的深入,如果要仔细获知应用了什么监测需要在控制台全局搜索webdriver去逆向分析一下再去设置将selenium伪装。接着就是遇到需要登录的操作,部分网站没有登录是不允许加载出请求等,这种情况只需要获取cookies然后再载入到selenium即可。在载入cookies前要先载入一下页面再加入cookies,加入后要在网站刷新才会生效。(功能约束貌似没办法解决)上面操作基本上满足市面上大部分反监测上的应用伪装按需添加即可。 阅读详情

参考:https://blog.youkuaiyun.com/sinat_34209942/article/details/81235925?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-4.edu_weight

cookie登录

登录后获取cookie语句

cookies = browser.get_cookies()
    # print(cookies)

打印出来的cookie是一大串,手动整理后使用

c1 = {'domain': '.chinapmp.cn',
            'httpOnly': True,
            'name': 'user',
            'path': '/',
            'secure': False,
            'value': '8rqt9h24a0WiRpkBXo9Bm_9i_yb_Yv8W'}
c2= {'domain': '.chinapmp.cn',
         'httpOnly': True,
         'name': 'SYSTEM_TEMP_COOKIE_NAME',
         'path': '/', 'secure': False,
         'value': '6AC1A8CD62E9B666F3A9C0629CF54A77'}
c3= {'domain': '.chinapmp.cn',
           'expiry': 1634698949,
           'httpOnly': True,
           'name': 'SYSTEM_ONLY_COOKIE_NAME',
           'path': '/',
           'secure': False,
           'value': '8E446DBDE647A599F88988C7F9401BF4'}
browser.add_cookie(c1)
browser.add_cookie(c2)
browser.add_cookie(c3)

add_cookie里每一个键值对的意义:

  • name:cookie的名称
  • value:cookie对应的值,动态生成的
  • domain:服务器域名
  • expiry:Cookie有效终止日期
  • path:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie
  • httpOnly:防脚本攻击
  • secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时

接下来可以直接在获取需要登录的网页

browser = webdriver.Chrome()
url = "http://exam.chinapmp.cn/" # 这个是根链接
url1= "http://user.chinapmp.cn/examsign;sign.shtml" #这个是需要登录后才能访问的其他链接
browser.get(url1)

token登录

有的网页不用cookies,有自己的token,没关系,继续试试token

#获取token
token=browser.execute_script('window.localStorage.getItem("token")')
print(token)
#添加token
js='window.localStorage.setItem("token","token值")' 
browser.execute_script(js)
browser.refresh()#刷新

全部脚本

import logging
import os
import platform
import time

import selenium.webdriver.support.ui as ui
from selenium import webdriver
from selenium.common.exceptions import NoSuchElementException, TimeoutException
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWait as WD
from selenium.webdriver.chrome.options import Options

# from time import sleep, time
# 首页界面
login_user = "Login_uName"  # id
login_password = "Login_uPass" # id
login_button = "uLogin" # id
sign_entrance = "/html/body/div[3]/div[1]/div[2]/div[1]/div/ul/li[1]/span/a" # xpath
i_sign_entrance = "/html/body/div[2]/div[1]/div[1]/div[2]/table/tbody/tr[1]/td/div/div[2]/div[1]/div/a" # xpath
next_button = "/html/body/div[2]/div[1]/div[1]/div[2]/div[1]/table[1]/tbody/tr/td[2]/div/a"
yes_button ="clause_yes"
info_confirm ="/html/body/div[2]/div[1]/div[1]/div[2]/div[1]/form/table/tbody/tr[21]/td/input"
exam_type_1 = "/html/body/div[2]/div[1]/div[1]/div[2]/div[1]/form/table/tbody/tr[2]/td[1]/span/label[1]/input"
exam_type_2 = "/html/body/div[2]/div[1]/div[1]/div[2]/div[1]/form/table/tbody/tr[2]/td[1]/span/label[2]/input"
last_name ="Xing"
middle_name ="Zhong"
first_name = "Ming"
training_agency = "/html/body/div[2]/div[1]/div[1]/div[2]/div[1]/form/table/tbody/tr[6]/td[1]/select/option[2]"
username_web = "PMIUname"
password_web = "PMIUpass"
dateF = "PMItimeB"
dateF1="/html/body/div[4]/table/tbody/tr[2]/td[1]/a"
dateT = "PMItimeE"
dateT1 ="/html/body/div[4]/table/tbody/tr[5]/td[1]/a"
test_site = "//*[@id='Kaodian']/option[7]"  # 大连东软
finish = "//*[@id='vform']/table/tbody/tr[14]/td/input"

logging.basicConfig(
    level=logging.WARNING,
    format='%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s'
)

# 无头模式打开浏览器
__options = Options()
__options.add_argument('--headless')
__options.add_argument('--window-size=1440x900')
__options.add_argument('blink-settings=imagesEnabled=false')  # 不加载图片, 提升速度
# 无头模式打开浏览器
#browser = webdriver.Chrome(chrome_options=__options)
# 不使用无头模式打开浏览器
browser = webdriver.Chrome()

url = "http://exam.chinapmp.cn/"
url1= "http://user.chinapmp.cn/examsign;sign.shtml"

browser.get(url)

wait2s = ui.WebDriverWait(browser, 2)
wait10s = ui.WebDriverWait(browser, 10)
wait30s = ui.WebDriverWait(browser, 30)

try:
    # 登录

    browser.get(url)
    wait30s.until(EC.title_is('首页-项目管理职业资格认证'))
    #BasePage = Page.BasePage
    element = browser.find_element_by_xpath(sign_entrance)
    element.click()
    # BasePage.click("xpath",sign_entrance)
    #wait30s.until(EC.title_is('会员登录-首页-项目管理职业资格认证'))
    time.sleep(1)
    username = browser.find_element_by_id(login_user)
    username.send_keys("chai1005")  # 请再这儿输入用户名!
    password = browser.find_element_by_id(login_password)
    time.sleep(1)
    password.send_keys("chai1005")  # 请再这儿输入密码!
    browser.find_element_by_id(login_button).click()
    # password.send_keys(Keys.ENTER)
    time.sleep(1)
    cookies = browser.get_cookies()
    print(cookies)
    c1= cookies[0]
    print("c1:  ",c1)
    c2 = cookies[1]
    print("c2:  ", c2)
    c3 = cookies[2]
    print("c3:  ", c3)
    # 第一次的时候需要获取cookie,第一次以后可以手动保存起来,一段时间内是有效的,保存为下面格式即可
    # c1 = {'domain': '.chinapmp.cn','httpOnly': True,'name': 'user','path': '/','secure': False,'value': 'Te6Im1OPs5FPP88z0Ixj2f9i_yb_Yv8W'}
    # c2= {'domain': '.chinapmp.cn','httpOnly': True,'name': 'SYSTEM_TEMP_COOKIE_NAME','path': '/', 'secure': False,'value': 'B3D8E21B1D65DA723114967F114E359D'}
    # c3= {'domain': '.chinapmp.cn','expiry': 1634708549, #1634698949'httpOnly': True,'name': 'SYSTEM_ONLY_COOKIE_NAME','path': '/','secure': False,'value': 'B5B26CE39ED2C81F82FDF17D1FC2C4E5'}
    browser.add_cookie(c1)
    browser.add_cookie(c2)
    browser.add_cookie(c3)
    browser.get(url1)
    # 点击报名
    # browser.find_element_by_xpath(i_sign_entrance).click()
    # time.sleep(1)
    # 点击下一步
    # browser.find_element_by_xpath(next_button).click()
    # time.sleep(61)
    # 点击同意
    # browser.find_element_by_id(yes_button).click()
    # time.sleep(1)
    # 点击个人信息确认无误
    # browser.find_element_by_xpath(info_confirm).click()
    # time.sleep(1)
    # 输入报考信息
    browser.find_element_by_xpath(exam_type_1).click()
    browser.find_element_by_id(last_name).send_keys("XXXX")
    browser.find_element_by_id(middle_name).send_keys("XXXX")
    browser.find_element_by_id(first_name).send_keys("XXXX")
    browser.find_element_by_xpath(training_agency).click()
    browser.find_element_by_id(username_web).send_keys("XXXX")
    browser.find_element_by_id(password_web).send_keys("XXXX")
    #browser.find_element_by_id(dateT).send_keys(Keys.ENTER)
    browser.find_element_by_id(dateF).click()
    browser.find_element_by_xpath(dateF1).click()
    #browser.find_element_by_id(dateF).send_keys(Keys.ENTER)
    browser.find_element_by_id(dateT).click()
    browser.find_element_by_xpath(dateT1).click()
    browser.find_element_by_xpath(test_site).click()
    browser.save_screenshot("./filename.png")
    # 点击报名
    #browser.find_element_by_xpath(finish).click()

    time.sleep(10)
finally:
    browser.close()
selenium中get_cookies()和add_cookie()的用法详解 主要介绍了selenium中get_cookies()和add_cookie()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 立即下载

相关推荐

小波变换(Wavelet Transform)原理及介绍

小波变换是一种多分辨率时频分析工具,克服了傅里叶变换无法定位时间信息的缺陷。通过可伸缩平移的母小波,它能同时捕捉信号的高频细节(短时特征)和低频轮廓(整体趋势)。其核心原理是利用不同尺度的小波基与信号进行内积运算,生成时频域系数矩阵。小波变换具有动态分辨率特性,高频部分时间精度高,低频部分频率分辨率好。主要应用包括瞬态事件检测、信号降噪、数据压缩(如JPEG2000)和压缩感知(如快速MRI)。

qq_42758052的博客 5486

Selenium实现登录验证

(1)"AutomationControlled":禁用仅在 Chrome 由自动化控制时启用的功能(例如,在无头模式下运行或在 Selenium 控制下运行)。"--disable-blink-features" : 命令行标志,传递给 Chrome 浏览器以禁用 Blink 渲染引擎的某些功能。"--disable-blink-features" 标志接受一个由逗号分隔的要禁用的功能列表。(2)"PreciseMemoryInfo":禁用准确测量内存使用情况的能力。(1)在你的谷歌输入如下网址。

lhx479823365的博客 1282

IC验证 AHB-RAM 项目(二)——接口与事务代码的编写

本文介绍了准备工作及接口、事务相关代码编写要点。在接口部分,重点说明了lvc_ahb_if.sv、rkv_ahbram_if.sv和rkv_ahbram_tb.sv三个关键文件的功能,其中rkv_ahbram_if.sv通过动态任务实现复位信号控制。事务部分则涉及lvc_ahb_types.sv中的枚举类型定义和lvc_ahb_transaction.sv中的随机化变量设置,用于构建AHB传输激励。整个验证环境采用模块化设计,通过接口实现TB与DUT的通信,为后续验证工作奠定基础。

weixin_45926435的博客 405

selenium cookie 登录

前言 爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了cookie登录的优点了,前段时间网上搜了搜,发现没有什么完整的教程,本文就使用selenium来cookie登录为例做一个简单的教程。 环境准备 python3 selenium chromedriver selenium就不再过多解释了,我们在使用的过程中唯一需要注意的就是自己浏览器版本与driver版本的问

阿拉修 9683

小红书私信接口与Hook技术实战:微信跳转卡片的合规与破解之道

本文深入探讨了小红书私信接口与Hook技术的实战应用,重点解析了微信跳转卡片的合规使用与破解方法。通过官方私信接口的合规玩法与Xposed框架的Hook技术对比,为开发者提供了技术选型指南和实战建议,帮助实现高效的用户跳转与转化。

weixin_30399821的博客 735

【实战学习(五)】开源项目学习之uWSGI的部署以及配合nginx

文章目录1)uWSGI是什么?1.1 WSGI1.1.1 Application端1.1.2 Server端1.1.3 WSGI中间件1.2 uwgi1.3 uWSGI、WSGI、uwsgi之间的关系*为什么有了uWSGI为什么还需要nginx?2)连接uwsgi和Django*避坑之Windows10安装uWSGI非常极其艰难,最好勿浪费时间,直接转战Linux吧:2.1 uWGI部署2.1.1 在虚拟环境下安装uwsgi:2.1.2 测试uWSGI的运行2.1.3 使用uWSGI运行Django项目2.

黑黑白白君的博客 1507

selenium使用cookie登录

selenium 通过cookie登录

weixin_61719520的博客 2021

从网格剖分到结果外推:一文拆解HFSS快速扫频(Fast Sweep)的底层逻辑与性能调优

本文深入解析了HFSS快速扫频(Fast Sweep)技术的底层逻辑与性能调优方法。通过ALPS算法实现频带外推,快速扫频相比离散扫频和插值扫频能提升3-5倍计算效率,特别适用于天线阵列、微波滤波器等宽频带分析场景。文章详细介绍了算法架构、参数优化策略及工程实践中的精度保障机制,帮助工程师高效完成电磁仿真。

weixin_28693447的博客 93

selenium用cookies 实现快速登录

cookie: 记录身份信息。当你登录一个网站,你都会在登录页面看到一个可勾选的选项“记住我”,如果你勾选了,以后你再打开这个网站就会自动登录,这就是cookie在起作用。(1)当你登录微博账号123456,并勾选“记住我”。(2)服务器就会生成一个cookies和123456这个账号绑定。(3)接着服务器把这个cookies告诉你的浏览器,让浏览器把cookies存储到你的本地电脑。

qq_53038927的博客 1296

Eureka常见面试题总结

点击关注我的博客原文 Eureka是Netflix组件的一个子模块,也是核心模块之一。云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移(来源springcloud中文网的介绍:https://www.springcloud.cc/)。下图总结了Eureka服务端(以下简称服务端)与Eureka客户端(以下简称客户端)之间协同工作的流程: 流程说明:...

u012105931的博客 2万+

UniApp X 网络请求避坑指南:从 JS 到 UTS 的 JSON 数据处理全解析

摘要:UniAppX开发中处理JSON数据时,UTS强类型特性要求开发者改变JS习惯。本文对比两种主流方案:1)UTSJSONObject通过keypath访问数据,兼容JS但缺乏类型提示;2)type+泛型方案,通过定义数据类型实现强类型校验和智能提示,推荐用于固定数据结构。文章详细演示了两种方式的具体实现、转换方法及实战案例,并提供了类型定义技巧和注意事项,帮助开发者编写更稳定高效的跨平台应用。

归梦工作室 2790

如何使用Selenium处理Cookie,今天彻底学会了!

一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的连接,这就意味着服务器无法从连接上跟踪会话。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。举个例子:用户A购买了一件商品放入购物车内,当再次购买商品时,服务器已经无法判断该购买行为是属于用户A的会话,还是用户B的会话了。要跟踪该会话,必须引入一种机制。

测试界的彭于晏的博客 324

【NLP】第十章:位置编码Positional Encoding

前面讲RNN时一般都会有一个ht的输出,这个输出就是样本与样本之间的信息,而且RNN是时序循环的,所以RNN本身的结构,在物理上,就自带词的前后顺序信息的。比如词never,不管never本身的词向量是什么,只要你在序列中排第一个位置,你的位置向量就是[0,1,01],你排第三个位置,你的位置向量就是[0.9,-0,4,0.2,1.0]。也所以,你可以理解为:embedding后的词嵌入,PE按照每个样本在sequence中的位置,把embedding后的词嵌入给扭转后,才送入attention的。

因为热爱所以坚持 1918

博客摘录「 22_selenium_使用cookie直接登录」2023年4月7日

非常棒。

crosesky的博客 113

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

selenium+java+cookie登录

简易版: 之前写过登录的时候需要验证码,如何获取验证码登录,但是今天写公司网站的自动化测试代码时发现,登录后去商详页购买,浏览器没有保存登录信息,还需要再次登录,查了一下资料,发现还有另外一种方式,直接给cookie赋值,具体看下面 1.用抓包工具抓包,登录前和登录后看一下cookie的变化,有变化或者多出来的那个就是我们要保存的cookie,抓包工具哪个都可以,我用的是fildder 2.将抓包出来的cookie保存起来,代码如下: package com; import org.openqa.s

Java后端技术栈 3311

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

如何用Selenium+Chrome模拟登陆并获取Cookie值

我们在Python做网络爬虫的时候,对于一些页面信息的爬取,很多信息网页会提示说需要登陆才能查看更多信息,这个时候我们就逃不开需要模拟登陆了,这里我们就可以利用上自动化测试神奇Selenium来模拟我们的鼠标、键盘进行登陆。这里我用我最近刚刚完成的一个网页来做讲解,也算是一种记录了。 本篇分两部分讲,第一部分介绍cookie值,第二部分介绍Selenium的相关方法以及操作 第一部分:Cook...

大数据开发、JAVA开发、人工智能AI 1万+

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

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

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

weixin_40444270的博客 6万+

Selenium读取cookie实现自动登录

这几天一直想搞明白cookie的爬虫使用,结果从昨天晚上开始试验,selenium获取的cookie怎么也无法实现直接登录,气的想打人。在刚才终于发现一些问题,在和浏览器中的cookie对比发现格式不一样,然后对着他进行格式改变,结果终于成功了,现在以一个模拟登录扣扣空间的例子: 这是模拟点击登录扣扣空间 我请求的这个网址是在分析的时候发现的,发现登录二维码是在一个这样的页面里,这样就很容易的点...

rede 2369

python 网页登录selenium_使用selenium+requests登录网页并持久化cookie

selenium是一款自动化测试利器,可以自动化模拟人的浏览器操作行为,所以也可以用于网络爬虫。本文主要讲一讲怎样用selenium来模拟登录,并持久化cookie,然后用requests爬取页面。selenium的安装及配置安装seleniumpip install selenium配置chrome浏览器webdriver到这个网站:http://chromedriver.chromium.or...

weixin_39616503的博客 870

php selenium cookie,selenium如何获取cookies,并实现使用cookies自动登录(一)

最近在研究一个新的知识,遇到了一个困难,就是selenium获取并使用cookies的技巧。刚开始百度了下,看了一些介绍,始终是不明白怎么回事,因为网上大部分是这样介绍的:一、cookies的获取1、手动获取网上大部分都说是看上图,但是这就让我看不懂了啊,因为百度出来的selenium中cookies添加是这样的一种格式:cookies=[{'domain': 'zhuxiaoedu.com', ...

weixin_42441929的博客 721

实现所有网站的qq登录返回登录后的cookie信息

开源地址:https://github.com/1015770492/autoLoginQQWithAnyWeb 注意:如果你下载了源码,想在自己的windows环境下测试,将源码中top.yumbo.music.test.configuration.ChromeAutoConfigration中 指定chromedriver路径的注释打开,并且指向正确的chromedriver路径,(chromedriver是驱动,同时也需要电脑上有chrome浏览器) // 打开注释并且将值设置为正确的路径 Syste

诗水人间 3261

selenium修改cookie

WebDriver操作cookie的方法:cookie以字典形式保存 get_cookies() 获取所有的cookie get_cookie(name) 返回字典的key为"name"的cookie信息 add_cookie(cookie_dict) 添加字典形式的cookie delete_cookie(name) 删除cookie delete_a...

baixin2014的专栏 382

Python + Selenium 处理浏览器Cookie

工作中遇到这么一个场景:自动化测试登录的时候需要输入动态验证码,由于某些原因,需要从一个已登录的机器上,复制cookie过来,到自动化这边绕过登录。 ​

软件自动化测试技术交流、资源分享 668

Selenium自动登录12306获取cookies

Selenium自动登录12306获取cookies工具基本思路:代码 最近学习爬虫,知道了有网站专门做自动识别验证码的,于是就想试试12306的验证码要怎么自动登录呢。 工具 :Selenium、python、超级鹰 基本思路: 1.使用selenium工具访问12306 2.自动输入用户名和密码 3.获取验证码图片 4.使用超级鹰提供的API识别验证码 5.点击坐标 似乎还挺简单的,直接在超级...

weixin_43955724的博客 1262

python 22 selenium滚动和常见反爬

cookie

woaixuexi6666的博客 757

instagram-location-search安全使用清单:Cookie保护与防封号的7个关键技巧

instagram-location-search 是一款开源的 Instagram 位置搜索工具,只要输入经纬度坐标,它就能帮你批量找出附近的地点 ID(location ID),并导出为 CSV、JSON、GeoJSON 或交互式地图。但很多新手上手时都会卡在同一个环节——Cookie:这个工具必须携带你的 Instagram 登录 Cookie 才能调用内部位置搜索接口,而 Cookie 的

gitblog_00659的博客 986
上一篇: 21_无头模式
下一篇: 深度学习框架-TensorFlow, Catte, Theano, Torch等
Alice__Time
博客等级 码龄9年 15粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值