python登录表单的步骤和方法——javascript元素倒影

bczs5722

时间 2024年3月6日 预览 33

专业互联网培训机构——完成蜕变以后轻松拿高薪

电话+V: 152079-09430 ,欢迎咨询python登录表单的步骤和方法——javascript元素倒影,[python实用课程],[C++单片机原理],[C#、PHP网站搭建],[Nodejs小程序开发],[ios游戏开发],[安卓游戏开发],[教会用大脑用想法赚钱实现阶层跨越]

一、python接口自动化之token登录

前言

有些登录不是用cookie来验证的,是用token参数来判断是否登录

token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已;另外一种是在url请求参数里,这种更直观。

一、登录返回token

1.如下图的这个登录,无cookies

2.但是登录成功后有返回token

二、请求头带token

1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数

2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行

三、token关联

1.用脚本实现登录,获取token参数,获取后传参到请求头就可以了

2.如果登录有验证码,前面的脚本登录步骤就省略了,自己手动登录后获取token

importrequests

header={#登录抓包获取的头部

"User-Agent":"Mozilla/5.0(WindowsNT10.0;WOW64;rv:44.0)Gecko/20100101Firefox/44.0",

"Accept":"/",

"Accept-Language":"zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",

"Accept-Encoding":"gzip,deflate",

"Content-Type":"application/x-www-form-urlencoded;charset=UTF-8",

"X-Requested-With":"XMLHttpRequest",

"Content-Length":"423",

"Connection":"keep-alive"

}

body={"key1":"value1",

"key2":"value2"}#这里账号密码就是抓包的数据

s=requests.session()

login_url="http://xxx.login"# 自己找带token网址

login_ret=s.post(login_url,headers=header,data=body)

token=login_ret.json()["token"]

post_url="http://xxx"

header["token"]=token

header["Content-Length"]="9"

body1={

"key":"value"

}

post_ret=s.post(post_url,headers=header,data=body1)

二、如何用Python爬取需要登录的网站

最近我必须执行一项从一个需要登录的网站上爬取一些网页的操作。它没有我想象中那么简单,因此我决定为它写一个辅助教程。

在本教程中,我们将从我们的bitbucket账户中爬取一个项目列表。

教程中的代码可以从我的 Github 中找到。

我们将会按照以下步骤进行:

  • 提取登录需要的详细信息

  • 执行站点登录

  • 爬取所需要的数据

  • 在本教程中,我使用了以下包(可以在 requirements.txt 中找到):

    Python

    1

    2

  •   
  • requests

    lxml

  •   
  • 步骤一:研究该网站

    打开登录页面

    进入以下页面 “bitbucket.org/account/signin”。你会看到如下图所示的页面(执行注销,以防你已经登录

    仔细研究那些我们需要提取的详细信息,以供登录之用

    在这一部分,我们会创建一个字典来保存执行登录的详细信息:

    1.右击“Usernameoremail”字段,选择“查看元素”。我们将使用“name”属性为“username”的输入框的值。“username”将会是key值,我们的用户名/电子邮箱就是对应的value值(在其他的网站上这些key值可能是“email”,“user_name”,“login”,等等)。

    2.右击“Password”字段,选择“查看元素”。在脚本中我们需要使用“name”属性为“password” 的输入框的值。“password”将是字典的key 值,我们输入的密码将是对应的value值(在其他网站key值可能是“userpassword”,“loginpassword”,“pwd”,等等)。

    3.在源代码页面中,查找一个名为“csrfmiddlewaretoken”的隐藏输入标签。“csrfmiddlewaretoken”将是key值,而对应的value值将是这个隐藏的输入值(在其他网站上这个value值可能是一个名为“csrftoken”,“ authenticationtoken” 的隐藏输入值)。列如:“Vy00PE3Ra6aISwKBrPn72SFml00IcUV8”。

    最后我们将会得到一个类似这样的字典:

    Python

    1

    2

    3

    4

    5

  •   
  • payload={

    "username":"<USERNAME>",

    "password":"<PASSWORD>",

    "csrfmiddlewaretoken":"<CSRF_TOKEN>"

    }

  •   
  • 请记住,这是这个网站的一个具体案例。虽然这个登录表单很简单,但其他

    Copyright2023未知推广科技
    拨打电话拨打电话
    Copyright2023未知推广科技