python保持session_简单的 Python 使用保持 Session 签到

# coding=utf-8

import requests

from pyquery import PyQuery as pq

#安装插件

# pip3.7 install requests

# pip3.7 install PyQuery

# 登录地址

login_url = "https://www.yiichina.com/login"

# 签到地址

url2 = "https://www.yiichina.com/registration"

# 构造登陆的header头

headers = {

'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",

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

'Accept-Language': "zh-CN,zh;q=0.9,en;q=0.8",

'Cache-Control': "no-cache",

'Connection': "keep-alive",

'Content-Length': "250",

'Content-Type': "application/x-www-form-urlencoded",

'Host': "www.yiichina.com",

'Origin': "https://www.yiichina.com",

'Pragma': "no-cache",

'Referer': "https://www.yiichina.com/login",

'Upgrade-Insecure-Requests': "1",

'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) "

"Chrome/67.0.3396.99 Safari/537.36 "

}

# 构造签到的header头

headers2 = {

'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",

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

'Accept-Language': "zh-CN,zh;q=0.9,en;q=0.8",

'Cache-Control': "no-cache",

'Connection': "keep-alive",

'Content-Length': "250",

'Content-Type': "application/x-www-form-urlencoded",

'Host': "www.yiichina.com",

'Origin': "https://www.yiichina.com",

'Pragma': "no-cache",

'Referer': "https://www.yiichina.com/",

'User-Agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/537.36 (KHTML, like Gecko) "

"Chrome/67.0.3396.99 Safari/537.36",

'X-CSRF-Token': "jiZGgvngdp0HiiclI4SheJlJr5-lVyymIFgbfE1ZUw33FWv2mI5DzyrJFUFHt8tO_h3az84GH9xEHEtFCh8cfg==",

'X-Requested-With': "XMLHttpRequest"

}

# 登陆方法和签到

def login_sign():

r_session = requests.Session()

# 请求页面

page = r_session.get(login_url)

# 请求获得的内容

content = pq(page.content)

# 获取csrf_token

item1 = content('meta[name=csrf-token]').items()

csrf = ''

for nurl in item1:

csrf = nurl.attr('content')

data = {

"_csrf": csrf,

"LoginForm[username]": "xxxxxx",#帐号

"LoginForm[password]": "xxxxxx",#密码

'LoginForm[rememberMe]': "0",

"LoginForm[rememberMe]": "1",

"login - button": ""

}

# 完成用户登录

response1 = r_session.post(login_url, data=data, headers=headers)

# 请求获得的内容

content = pq(response1.content)

# 获取csrf_token

item1 = content('meta[name=csrf-token]').items()

csrf = ''

for nurl in item1:

csrf = nurl.attr('content')

data2 = {

"_csrf": csrf

}

# 模拟签到请求

response2 = r_session.post(url2, data=data2, headers=headers2)

content = pq(response2.content)

items = content('p').items()

for a in items:

print(a.html())

if __name__ == "__main__":

login_sign()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 requests 库模拟请求微信小程序的登陆并签到。具体步骤如下: 1. 获取小程序的 AppID 和 AppSecret,以及用户的账号和密码。 2. 使用账号和密码向微信服务器发送请求,获取用户的 OpenID 和 SessionKey。 3. 使用 OpenID 和 SessionKey 向小程序服务器发送请求,获取用户的 Token。 4. 使用 Token 向小程序服务器发送请求,完成签到操作。 以下是示例代码: ```python import requests import json # 小程序的 AppID 和 AppSecret APP_ID = 'your_app_id' APP_SECRET = 'your_app_secret' # 用户的账号和密码 USERNAME = 'your_username' PASSWORD = 'your_password' # 请求微信服务器,获取用户的 OpenID 和 SessionKey url = 'https://api.weixin.qq.com/sns/jscode2session' params = { 'appid': APP_ID, 'secret': APP_SECRET, 'js_code': 'your_js_code', 'grant_type': 'authorization_code' } response = requests.get(url, params=params) data = json.loads(response.text) openid = data['openid'] session_key = data['session_key'] # 请求小程序服务器,获取用户的 Token url = 'https://your_mini_program_server.com/api/token' params = { 'openid': openid, 'session_key': session_key } response = requests.get(url, params=params) data = json.loads(response.text) token = data['token'] # 请求小程序服务器,完成签到操作 url = 'https://your_mini_program_server.com/api/checkin' headers = { 'Authorization': 'Bearer ' + token } response = requests.post(url, headers=headers) data = json.loads(response.text) if data['success']: print('签到成功') else: print('签到失败') ``` 注意:以上代码仅为示例,实际使用时需要根据具体情况进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值