首页 > 其他分享 >创新实训 (七)

创新实训 (七)

时间:2024-05-30 19:22:17浏览次数:23  
标签:创新 题目 登录 获取 实训 https com leetcode

1.登录

爬取力扣上的数据首先需要进行登录,使用 Chrome 的开发者模式来确定登录时提交的信息。

经过登录验证,发现是通过 https://leetcode.com/accounts/login 这一接口提交了登录表单,使用爬虫进行登录的时候需要填写表单中对应的数据。其中 csrfmiddlewaretoken 是 cookie 值,需要登录后进行获取。

为了保持连接,可以使用 requests.Session() 方法,可以维持多个连接。登陆成功力扣会自动进行跳转,为了避免这一问题,可以在 post 方法中将 allow_redirects 设置为 Fasle 禁止跳转。

2.获取题目信息

https://leetcode.com/api/problems/all/ 接口是获取所有题目的接口。获取解析里面的数据便可以得到所有题的名称,但并不能获取题目的详细信息。而我们所需要的是详细的信息。

当点击一道题目时,分析所使用的请求,发现是一个 https://leetcode.com/graphql 的请求,返回了题目的详细信息。

GraphQL 是一种用于 API 的查询语言,查询方式类似于 SQL,对于该题请求为:

可以发现请求包含题目名称等信息,我们将对应题目的查询请求提交即可获得返回的题目详细信息。

3.获得正确代码

查看代码必须是在登录状态下,所以之前实现的登录是非常必要的。

可以使用 GraphQL 获取提交记录的简单信息,但是无法其中并不包含代码。

我们考虑通过 https://leetcode.com/submissions/detail/1/ 来获取代码,对页面分析发现这里并没有调用请求数据,查看页面的源代码,发现使用了一个pageData 的函数,代码应该是使用 JS 渲染而成,因此只能通过传统的获取页面源码正则解析的方式。代码被赋予到一个 submissionCode 的变量中去了,可以通过正则表达式获取该变量。

标签:创新,题目,登录,获取,实训,https,com,leetcode
From: https://www.cnblogs.com/asuldb/p/18223083

相关文章

  • 创新实训 (六)
    在指导老师鹿旭东的指导下,我们将现有的工作进行总结,形成了一篇简短的论文,目前该文章已投稿至CEISEE2024。AnOnlineJudgementSystemBasedonCode-GeneratingLargeModeAbstract:Forcomputersciencemajorsinhighereducationinstitutions,programmingcoursesare......
  • 创新实训 (五)
    论文:Prefix-Tuning:OptimizingContinuousPromptsforGenerationPrefix-tuning将一系列连续的特定于任务的向量添加到输入中,这些前缀向量并不能够映射到真正的实体token,可以理解为“虚拟token”,这些虚拟的token作为Prefix。然后,在训练的时候只更新Prefix部分的参数,而PL......
  • 登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!
    5月8日,第24届IEEE/ACM集群、云和互联网计算国际研讨会(CCGrid2024)在美国费城隆重举行。来自中国、美国、印度、法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨和交流,并带来最前沿的技术展示。天翼云云网产品事业部弹性网络产品线总监侯叶飞出席大会硬件系......
  • [持续更新中] 创新实训项目
    DeerOJ的前端框架介绍Web文件夹下的结构DeerOJ的前端框架参考了部分Lavarel框架,做到兼顾代码的可维护性和可阅读性。具体的维护目录文件结构如下:注意到web文件夹下的index.php这是整个前端程序的main程序,当服务段收到请求后,根据.htaccess文件指定使用index.php文......
  • 深入探索汇编语言的顶尖级应用领域,包括多核并行处理、物联网和嵌入式系统、高性能计算
    汇编语言初级应用的大纲:1.汇编语言概述介绍汇编语言的基本概念和作用。解释汇编语言与高级语言的区别。简要说明汇编语言的历史和发展。2.汇编语言基础讲解汇编语言的基本语法和结构。介绍汇编语言中的指令、寄存器、内存等概念。解释汇编语言程序的组成部分,如数据段......
  • 【持续更新】创新实训
    项目简介随着互联网+的生态模式和人工智能的产业化发展,程序设计已成为计算机专业乃至工科学生的必备技能之一。学生学习程序设计,不仅能提高代码水平能力,学会如何写代码,如何写好代码,而且能锻炼学生在今后面对项目开发等实际应用场景时解决问题的能力。因此,很多同学在刚刚接触到编......
  • 开源AI智能名片商城系统小程序:构建企业敏捷性与创新力的新引擎
    摘要:在数字化时代,企业正面临前所未有的市场变革。客户需求日新月异,市场竞争日趋激烈。为了在这场变革中立足,企业必须寻求新的解决方案,以提升自身的敏捷性和创新力。开源AI智能名片商城系统小程序,作为一种新兴的技术工具,正以其独特的优势,助力企业迅速响应市场变化,推动产品和服......
  • YOLOv10全网最新创新点改进系列:融合空间信息关注机制(SimAM)于YOLOv10网络,在通道之间和
    YOLOv10全网最新创新点改进系列:融合空间信息关注机制(SimAM)于YOLOv10网络,在通道之间和空间位置之间建立更加准确的关联,助力YOLOv10有效涨点!!!所有改进代码均经过实验测试跑通!此项目不低于30种改进!自己排列组合2-4种后,考虑位置不同后可排列组合上千万种!改进不重样!!专注AI学术,......
  • YOLOv10最新创新点改进系列:融合最新顶会提出的HCANet网络中卷积和注意力融合模块(CAFM
    YOLOv10全网最新创新点改进系列:融合最新顶会提出的HCANet网络中卷积和注意力融合模块(CAFM),有效提升小目标检测性能,大幅度拉升目标检测效果!遥遥领先!YOLOv10全网最新创新点改进系列:融合最新顶会提出的HCANet网络中卷积和注意力融合模块(CAFM-2024年4月开源),有效提升小目标检......
  • HarmonyOS SDK助力中国建设银行探索金融领域创新场景
    今年年初,中国建设银行(以下简称建行)手机银行首批适配HarmonyOSNEXT,并高效实现其应用的核心功能迁移。同时,建行手机银行在HarmonyOSSDK的加持下,充分发挥鸿蒙原生应用在原生智能方面的优势,让用户尽享更高效便捷的线上金融服务。HarmonyOSSDK场景化控件助力建行高效开发自建行加......