如何自动登录网站?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何自动登录网站?相关的知识,希望对你有一定的参考价值。

像百度,qq问问,4399等网站每天第一次登录都有积分,但有时候经常会忘记登录,有什么办法每天开机自动登录一次?
(qq问问登录时有验证码)
谢谢

推荐你使用Alasend
阿拉神登一键登陆:QQ、MSN、邮箱、论坛、博客、各种会员网站、通行证网站、聊天工具和魔兽世界、梦幻西游、跑跑卡丁车等热门网络游戏,不用开网页、不用填写网址、不用开程序、不用输帐号密码,使用阿拉神登一键登陆各种网站、聊天工具、客户端和我们热衷的网络游戏。 告别落后的手工登陆方式,跨越登陆中的各种麻烦和障碍,给我们冲浪带来便捷畅快的全新体验。
阿拉神登 具有强大的DIY功能,您可以自己动手智能采集您需要的登陆窗口,万能登陆器;解除忘记帐号、忘记密码、重复输入、反复登陆的烦恼,帐号密码一次存入,所有登陆只需一键!
如果您不想动手,也没问题!阿拉神登 会在您需要的时候为您智能保存,一键登陆,马上就开始安装阿拉神登 !
如果还有什么担心那就是安全问题:阿拉神登 采用的密码保护专利技术,和相关产品已经和通过国家信息安全中心测评认证, 数据采用密码保护硬件绑定,本地存放,防止盗号,比其他登陆方式更安全!
哦,还有问题,阿拉神登要不要收费,不要!阿拉神登是一款完全免费软件!
没有问题了!现在我们就和全国二十万多A客们一起去探索阿拉神登更多一键登陆神奇功能...
参考技术A 自动登陆网站操作步骤如下:

1、把用户信息保存在Cookie中,启动登录界面去Cookie中查找名称和密码,然后后台进行登录操作。没找到或登录失败启动登录界面

2、自动登录是不需要看见登录界面,验证码就可以后台屏蔽的

3、自动登录是将cookie长久保存在客户端。
在页面加载的时候 ,先判断cookie是否存在,然后再判断cookie里面保存的用户名和密码是否正确。
正确即可登陆

cookie保存在客户端,所以密码要加密。

只要将cookie的Exprise熟悉设置时间长一点 就可以了
参考技术B 一般网站都是可以自动登录的。
有的网站需要你勾选上自动登录,或者有勾选保存登录状态
另外一种使用浏览器智能填表,会自动记录你的帐号密码,下次登录时自动填写。
参考技术C 自动登录网站一般是由网站服务商开发时制作的一个功能,
原理是将您账户的一些信息保存,在以后的访问过程中进行判断。如果网站没有设置这个功能,不太好实现,如果你一定需要的话可以找个可以录屏的按键精灵来做这件事情!
参考技术D 一般的网站上像百度你输入账号跟密码的时候有个自动登陆的选项,登陆了下次进去百度自己就进入了,有验证码的就不能了,要每次都输入···

Golddata如何采集需要登录/会话的数据?

概要

本文将介绍使用GoldData半自动登录功能,来采集需要登录网站的数据。GoldData半自动登录功能,就是指通过脚本来执行登录,如果需要验证码或者其它内容需要人工输入时,可以通过收发邮件来执行登录流程。

下载例子

为了讲解方便,我们以采集mydict的单词数据来讲解采集需要登录的网站数据。这个mydict例子程序可以从开源网站下载到( https://github.com/TheGoldData/mydict/releases ,或 https://gitee.com/golddata/mydict/attach_files )。

下载之后,打开命令行,运行下面的命令就可以启动例子程序。

java -jar mydict.war

启动之后,打开浏览器,输入网址http://localhost:8080/打开一个登录页面。如下图所示:

技术图片

输入用户名和密码(都是admin),就可以打开首页单词列表。

编写登录和检查会话脚本

点击“采集管理》网站管理”,点击“添加”按扭,添加名为mydict的站点。如下所示:

技术图片

接下来配制登录和检查会话脚本,点击“设置半自动登录”,会打开站点半自动登录配制页面,如下图所示:

技术图片

登录脚本如下:

//发送ajax请求验证码
var va=$ajax('http://localhost:8080/code/vcode?timestamp=1554001708730',{encoding:false});

var arg_={
label:site.name+"验证码",
type:1,
content:va.content
}
//waitForInput内置函数将发送邮件,并等待输入
//(回复邮件,或者goldData平台输入),
//并把输入内容当作验证码返回。
var code=waitForInput(arg_);

var data="username=admin&password=admin&vcode="+code

var m=new  Map()
m.put('Cookie',va.cookie)
//发送ajax请求执行登录
var content=$ajax('http://localhost:8080/doLogin',{method:'POST',headers:m,data:data})

//如果正确,将返回状态1(登录成功),和headers信息给GoldData,
//否则返回0(登录失败)!
if(content.headers){
m.putAll(content.headers)
}

var ret={status:1,headers:m}

if(content.status!=200){
    ret.status=0
}
ret

检查脚本如下:

var ret=true;
if(html.contains("我的单词-登录")){
ret=false
}
ret;

配制好之后,我们回到网站管理页面,点击“启动登录”,则会开始执行“自动登录”,这之后,点击“查询”按扭来刷新页面,可以看到“等待输入”的状态。如下图所示:

技术图片

此时,您设置的通知邮箱,也应该同时收到了邮件。点开邮件,或者点击页面上的“录入等待输入”按扭,将会看到如下内容: 技术图片

技术图片

依据邮件内容,回复邮件“{{qcxe}}”,就可以让程序继续执行。在golddata页面里输入"qcxe",效果是一样的。程序将会回到“waitForInput()”,并且返回输入的内容。

回复之后,我们将在golddata页面里,点击“查询”刷新页面,mydict的登录状态会变为“已登录”。如下图所示:

技术图片

接下来,我们可以定义抓取规则。

定义抓取规则

在添加规则之前,我们还需要定义类似于表结构的数据集。如下图所示:

技术图片

接下来,点击“采集管理》规则管理”,添加规则,打开添加规则页面,如下图所示: 技术图片

抓取规则脚本如下:

[
  {
    __sample: http://localhost:8080/word/index?pageNum=2
    match0: http://localhost:8080/word/index(?pageNum=d+)?
    fields0:
    {
      __model: true
      __dataset: word
      __node: "#content  ul >li"
      sn:
      {
        expr: ""
        attr: ""
        js: md5(item.name)
        __label: ""
        __showOnList: false
        __type: ""
        down: "0"
        accessPathJs: ""
        uploadConf: s1
      }
      name:
      {
        expr: h5
        attr: ""
        js: ""
        __label: ""
        __showOnList: true
        __type: ""
        down: "0"
        accessPathJs: ""
        uploadConf: s1
      }
      uk:
      {
        expr: li span.uk
        attr: ""
        js: source.replace("uk: ",'')
        __label: ""
        __showOnList: false
        __type: ""
        down: "0"
        accessPathJs: ""
        uploadConf: s1
      }
      us:
      {
        expr: li span.us
        attr: ""
        js: source.replace("us: ",'')
        __label: ""
        __showOnList: false
        __type: ""
        down: "0"
        accessPathJs: ""
        uploadConf: s1
      }
    }
    fields1:
    {
      __node: .pagination a
      href:
      {
        expr: a
        attr: abs:href
        js: ""
        __label: ""
        __showOnList: false
        __type: ""
        down: "0"
        accessPathJs: ""
        uploadConf: s1
      }
    }
  }
]

然后点击测试,将会进行测试抓取。我们发现数据的确被抓取到了,如下图所示: 技术图片

配制抓取器抓取

这和之前是一样的,将抓取器设置抓取站点“mydict”.然后点击开始抓取。然后会在数据管理里面查看抓取的数据。

结论

GoldData半自动登录实质是提供了一个可以人工介入来异步获取会话的框架,既可以调用AI接口做到完全自动登录;也可以将类似于验证码需要复杂识别需要提供输入时,直接将cookie或者token信息通过邮件收发到GoldData平台(这样可以不管CAPTCHA多复杂 ),都可以让GoldData抓取数据的动作持续进行下去。

以上是关于如何自动登录网站?的主要内容,如果未能解决你的问题,请参考以下文章

C# winform webbrowser 自动登录网站?

C# winform 如何取得网站cookie,从而实现自动登录。

跳转到另一个网页时自动登录

SSO - 如何从 Intranet (SAML 2.0) 自动登录到外部网站?

如何使用 selenium 在某些网站中使用 kakao、google、naver id 自动登录

python网络爬虫之使用scrapy自动登录网站