【LeetCode】Python requests模拟Leetcode登陆

1、查看登陆参数,https://leetcode.com/accounts/login/

通过form表单post数据。
post参数

2、查看登录时post的一些参数。

  • headers
    headers
  • data
    data

3、requests模拟登陆,代码在这里:

# !/usr/bin/env python
# -*- coding: utf-8 -*-
# author: wangzhenqing <wangzhenqing1008@163.com>
# date: 2015-07-17 14:37:25

import sys
import requests

reload(sys)
sys.setdefaultencoding('utf-8')


# 根据登陆url,用户名,密码获取登陆后的requests
def get_login_requests(login_url, user_id, password):
    # 获取网页内容
    s = requests.session()
    data = dict(login=user_id, password=password,
                csrfmiddlewaretoken='kJlv5K5pKS2AJ2oN6PXcAEY2aOWo2Tl6')
    cookies = {
        '__atuvc': '63%7C26%2C36%7C27%2C55%7C28',
        '_gat': '1',
        'csrftoken': 'kJlv5K5pKS2AJ2oN6PXcAEY2aOWo2Tl6',
        '_ga': 'GA1.2.764974747.1435544317'
    }
    headers = {
        'Referer': "https://leetcode.com/accounts/login/",
        'Content-Type': 'application/x-www-form-urlencoded',
        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) '
                      'AppleWebKit/537.36 (KHTML, like Gecko) '
                      'Chrome/43.0.2357.130 Safari/537.36',
        'Host': 'leetcode.com'
    }
    r = s.post(login_url, data=data, headers=headers,
               cookies=cookies)
    print r.headers
    print r.text


if __name__ == '__main__':
    login_url = 'https://leetcode.com/accounts/login/'
    r = requests.get(login_url)
    cookies = r.cookies['csrftoken']
    print r.cookies['csrftoken']
    get_login_requests(login_url, 'username', 'password')
    print 'over'

4、其实还有一些其他代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值