爬虫的登陆

144阅读 · 0评论 · 2020/04/14发布   前往评论

前言

  该文章主要提供交流学习使用,请勿利用其进行不当行为!

  如本篇文章侵犯了贵公司的隐私,请联系我立刻删除!

  如因滥用解密技术而产生的风险与本人无关!

登陆的相关问题

我们登陆时使用cookie的时候,会发现一个问题就是你的登陆cookie值第二天会失效,造成这个的原因有可能是因为登陆的cookie包含时间戳,所以会导致登陆失败。

还有些网址会识别cookie登陆。所以,这时候我们需要使用requests来进行账号密码登陆!!!

先手动登陆f12查找Network下login所带的参数

通过最底下Form Data 你可能会发现你输入的账号与密码和一些奇怪的参数,这里举两个例子。比如有些网站密码是加密的,那么这时候如果你想登陆的话,你就要去破解密码验证,一般用的是js的方式。这在后面的教程中会提到。今天讲的就是获得的一下奇怪的参数!!!

import re
import requests
url = '****'
headers = { "User-Agent": "Mozilla/***",}#这里随便举一个例子
session = requests.session()#我们跨请求保持某些参数
session.headers = headers

这时比如这个参数如下

_token: xsgsn1DJPWKOM1ddfsfdsFAv9WQfdfZ

email: 12345678@qq.com

password: 11111111

通过查看f12查看网页源码的方式你会看到看到有这样一段代码 name="_token" value="xsgsn1DJPWKOM1ddfsfdsFAv9WQfdfZ" 这时候就说明登陆是通过 账号,密码,_token参数进行验证的,注意_token参数是可变的。

也有人会问_token参数怎么获取呢!最简单的方式的通过正则表达式匹配网页,具体代码如下:

_token = re.search(r'"_token" value="(.*?)"', token.text).group(1)
print(_token)
data = {
        "_token": _token,
        "email": "12345678@qq.com",
        "password": "11111111",
    }
session.post(url, data=data)

之后就可以请求网站信息了!

通过查看返回值,我们就会发现。这样就做到了登陆!!!

可以看出正则表达式在爬虫的使用上,有着不小的帮助。今天就到这里!




本文标题: 爬虫的登陆
本文作者: 天行者
发布时间: 2020年04月14日 - 22:39
最后更新: 2020年04月15日 - 23:49
转载请保留原文链接及作者


登录 后回复

共有0条评论