Leetcode-Helper项目全记录1

本文记录了使用Python实现LeetCode中文站的模拟登陆,获取个人做题状态,并将数据保存到CSV的过程。通过requests库建立会话,设置请求头参数,发送POST请求完成登陆,然后爬取题目状态,利用pandas将数据写入CSV。
摘要由CSDN通过智能技术生成

LeetCode Helper简介:实现对LeetCode中文站的个人数据和提交源码进行爬取,将源码保存至本地,一键更新源码至github仓库,并且根据数据更新源码仓库的readme.md。

本章进展:

  1. 实现对Leetcode-cn的模拟登陆,并获取题目状态。
  2. 将个人做题情况保存到本地csv表格。

爬虫模拟登陆

该部分实现的需求是:建立一个长期的会话,根据用户名和密码,进行模拟登陆,登陆成功后返回登陆成功的会话。

建立会话

这里需要用到requests库建立一个会话。

import requests
session = requests.Session()

发送post请求

登陆网址

# 源站
leetcode_url = 'https://leetcode-cn.com/'
# 登陆地址
sign_in_url = leetcode_url + 'accounts/login/'

请求头参数设置

这里我们需要模拟浏览器登陆,所以请求头中的user-agent需要设置成浏览器的

user_agent = r"Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)"

其次,我们需要建立一个长期的会话,需要保持登陆的状态,目标站点为登陆站。

headers = {
   'User-Agent': user_agent, 'Connection': 'keep-alive', 'Referer': sign_in_url}

请求数据

这里我们要发送的数据就是我们的登陆信息,即账号和密码。

login_data = {
   'login': email, 'password'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值