码上爬官网

今天偶然刷到这个网站,刚接触这个东西,试着玩了下,以下内容仅供参考

第一题

第一题可以说没有做任何校验,只需要你带上自己的用户session信息即可

参考代码:

import requests


def request_page(sessionid: str, page: int):
    """
    请求对应页码信息
    :param sessionid: 用户session信息
    :param page: 页码
    :return: 结果列表
    """
    page_url = "https://stu.tulingpyton.cn/api/problem-detail/1/data/"
    headers = {
        # 标识登录用户
        "cookie": f"sessionid={sessionid}"
    }
    querystring = {"page": f"{page}"}
    return requests.get(page_url, headers=headers, params=querystring).json()['current_array']


if __name__ == '__main__':
    user_session = 'xxxxxxxxxx'
    number = 0
    for i in range(1, 21):
        number += sum(request_page(user_session, i))
    print(number)

第二题

第二题相较第一题就多了一个referer的校验

参考代码:

import requests


def request_page(sessionid: str, page: int):
    """
    请求对应页码信息
    :param sessionid: 用户session信息
    :param page: 页码
    :return: 结果列表
    """
    page_url = "https://stu.tulingpyton.cn/api/problem-detail/2/data/"
    headers = {
        # 标识登录用户
        "cookie": f"sessionid={sessionid}",
        # 题目2,额外增加
        "referer": "https://stu.tulingpyton.cn/problem-detail/2/"
    }
    querystring = {"page": f"{page}"}
    return requests.get(page_url, headers=headers, params=querystring).json()['current_array']


if __name__ == '__main__':
    user_session = 'xxxxxxxxxx'
    number = 0
    for i in range(1, 21):
        number += sum(request_page(user_session, i))
    print(number)

第三题

方法1 - 猜测

通过第二题的代码进行猜测,调整url就能直接使用

参考代码:

import requests


def request_page(sessionid: str, page: int):
    """
    请求对应页码信息
    :param sessionid: 用户session信息
    :param page: 页码
    :return: 结果列表
    """
    page_url = "https://stu.tulingpyton.cn/api/problem-detail/3/data/"
    headers = {
        # 标识登录用户
        "cookie": f"sessionid={sessionid}",
        # 题目2,额外增加
        "referer": "https://stu.tulingpyton.cn/problem-detail/2/"
    }
    querystring = {"page": f"{page}"}
    return requests.get(page_url, headers=headers, params=querystring).json()['current_array']


if __name__ == '__main__':
    user_session = 'xxxxxxxxxx'
    number = 0
    for i in range(1, 21):
        number += sum(request_page(user_session, i))
    print(number)

方法2 - 替换覆盖

进入调试后不刷新页面 或 在进入前打开调试窗口并取消停靠

在源代码标签里搜索 debugger

发现只找到了一个,打开此文件,复制loadPage整个函数,在对应文件上右键点击替代内容

然后全选粘贴【或者删除上面内容也行】,按Ctrl+S保存,然后就可以正常刷新页面了

代码方法1 已经写了,就不再写了,就是翻页的地址的题号发生了变化

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐