Python爬虫入门1

一、Github登陆

1. 分析

  1. 请求URL
    https://github.com/session
  2. 请求方式
    POST
  3. 请求头
    Cookie
    User-Agent
  4. 请求体
    utf8, authenticity_token, login, password, webauthn-support, commit

2. 获取(Token)

  1. 请求URL
    https://github.com/login
  2. 请求方式
    GET
  3. 请求头
    Cookie
    User-Agent

3. 代码

import re
import requests

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 '
                  '(KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
}


def get_page(urls):
    response = requests.get(urls, headers=headers)
    return response


form_data = {
    "utf8": "✓",
    "authenticity_token": 'token',
    "login": "******", # 账号
    "password": "******", # 密码
    "webauthn-support": "unknown",
    "commit": "Sign in"
}


if __name__ == '__main__':
    # 登录链接
    login_url = 'https://github.com/login'
    # 请求对象资源
    login_res = get_page(login_url)
    # 请求Cookie字典化
    login_cookie = login_res.cookies.get_dict()
    # 获取Token
    re_str = '<input type="hidden" name="authenticity_token" value="(.*?)" />'
    token = re.findall(re_str, login_res.text, re.S)
    # 设置请求数据
    form_data['authenticity_token'] = token[0]
    # 请求链接
    session_url = 'https://github.com/session'
    # 请求对象资源
    session_res = requests.post(session_url, headers=headers, cookies=login_cookie, data=form_data)
    with open("github.html", 'w', encoding='utf-8') as f:
        f.write(session_res.text)
    print(session_res.status_code)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值