找回密码
  注册[Register]
查看: 866|回复: 7

[python] 利用python模拟请求进行成绩查询

[复制链接]
发表于 2021-1-28 13:27 | 显示全部楼层 |阅读模式
禁止求评分、诱导评分、互刷评分、互刷悬赏值,违规者封号处理。
禁止发布推广、邀请码、邀请链接、二维码或者有利益相关的任何推广行为。
所有非原创软件请发布在【精品软件区】,发帖必须按照本版块版规格式发帖。

先把代码放上来

[Python] 纯文本查看 复制代码
# coding: utf-8
import requests

session = requests.session()
headers = {
    'Connection': 'keep-alive',
    'Pragma': 'no-cache',
    'Cache-Control': 'no-cache',
    'Accept': 'application/json, text/javascript, */*; q=0.01',
    'DNT': '1',
    'X-Requested-With': 'XMLHttpRequest',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
    'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8',
    'Origin': 'https://411318.yichafen.com',
    'Sec-Fetch-Site': 'same-origin',
    'Sec-Fetch-Mode': 'cors',
    'Sec-Fetch-Dest': 'empty',
    'Referer': 'https://411318.yichafen.com/public/queryscore/sqcode/MsTcIn3mOTU1MnxkOGFiNDUzMWJjOGY3MjhiY2ZkN2FiZmQ0MmE0YzgxOXw0MTEzMTgO0O0O.html',
    'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
}

def get_cookies():
    response = session.get(url='https://411318.yichafen.com', headers=headers)
    print(response.cookies)
def get_score():

    response = session.get('https://411318.yichafen.com/public/queryresult.html', headers=headers)
    print(response.text)
    print(response.headers)

def get_status(usercode='101106120448', username='肖涛'):
    data = {
        's_kaohao': usercode,
        's_xingming': username
    }

    response = session.post(
        'https://411318.yichafen.com/public/checkcondition/sqcode/MsTcIn3mOTU1MnxkOGFiNDUzMWJjOGY3MjhiY2ZkN2FiZmQ0MmE0YzgxOXw0MTEzMTgO0O0O.html',
        headers=headers, data=data)
    print(response.text)

def main():
    get_cookies()
    get_status()
    get_score()

if __name__ == '__main__':
    main()


分析过程
  • 请求分为三步,第一步是拿到cookie,第二步提交用户名和考号会得到一个返回结果,如下
    <pre>{"info":"\u67e5\u8be2\u6210\u529f","status":1,"url":"\/public\/queryresult.html"}</pre>
  • 显示请求成功,但是还要进行第三步,第三部必须带上referer,否者不返回结果
  • 最重要的是访问必须携带cookie而且要在同一个session中,否则不返回数据,所以代码中第一部是请求cookies,用session自动保存cookies,避免了cookie的管理

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2021-1-28 13:27 | 显示全部楼层
谢谢@Thanks!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 13:42 | 显示全部楼层
6666
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 14:16 | 显示全部楼层
谢谢大牛
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 14:25 | 显示全部楼层

感谢楼主的分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 14:56 | 显示全部楼层

支持楼主,谢谢分享。
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 18:25 | 显示全部楼层

感谢分享,谢谢提供分享
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

发表于 2021-1-28 18:31 | 显示全部楼层
谢谢分享!
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心值】和【牛币】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 有用 没用

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

RSS订阅|手机版|小黑屋|大牛论坛 |我的广告

GMT+8, 2024-5-3 00:10 , Processed in 0.036060 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表