# -*- coding:utf-8 -*-
# __author__ = 'lixiang'
# 实现github自动登陆和获取数据 import requests
from bs4 import BeautifulSoup #第一步获取github的CSRFtoken
r1=requests.get(url="https://github.com/login")
bs=BeautifulSoup(r1.text,features="html.parser")
tag=bs.find(name="input",attrs={"name":"authenticity_token"})
csrftoken=tag.attrs.get("value")
r1_cookies=r1.cookies.get_dict() #第二步登陆,要带第一次的cookie,给他授权
post_dict={
"commit":"Sign in",
"utf8":"✓",
"authenticity_token":csrftoken,
"login":"xxx",
"password":"xxx"
} r2=requests.post(
url="https://github.com/session",
data=post_dict,
cookies=r1_cookies,
) #登录成功获取cookie
r2_cookies=r2.cookies.get_dict() print(r1_cookies)
print(r2_cookies)
"""
{'logged_in': 'no', '_gh_sess': 'aFVOSWJqVTJwRjVxZmg0ZmxYNldCNCtPYVdseENaNlBCTzdXTG1ZZVUxNHdHbWNhZzA5ekRvdXhTWmpzTzJHVEVOTWh1R0dWenNkWFVrRlhST1J3TTZISER0eGFveHRleXlad0F2Z2xMQ1RDbldQN2UvRjNCelRadmNFNWs2Z1h2LzlJdmdMUU40UGpZTVBqWDNnRDJla1ErblNWTFlaSzFscUh0T0dvMThDL2kxeEdESUF5bTdlOXM3Q0E2Y1FrSzdGdjVScTVNaHBkU25jNEZiVm91V0dYaUQ4Q2lUTkxycjRWdlR6Q2NrTGJBLzR3L1NyTlViYmFEeEpuRVEvUGh1T0xScVV6S1c5OTRFVElkUlVDMDJXM1kwd2Y3d09IWjFBa0ZvWXJNNmxOQlJJcFN3VitFalZSZFRVMk9Cd00tLTdJeE01dFhuR01sYmdZVmUvK2FZOWc9PQ%3D%3D--74f6aa35aadf3a7f53d2a2c9c84196ea680284fb'}
{'logged_in': 'yes', '__Host-user_session_same_site': 'p9mOvXkKsooBAWnzaWI4MTCEY2NcMfOQ6ZplGjIdE-buENW-', '_gh_sess': 'alU5c290U1Y2aXZPVEVFTjdUWEpWUnpMdVUrVjNsZmJCU2Vrdi9VL3R1N0hVK2w1MkFMUmdOaDRXdXYwditsRm1IOU5jbVlBQ1MzbHI3R2p3dGlhdnFuYWZUWENzN3FwK3QzZStpeHo1ZmttS3Nmb2Fmbm5DRWhCbWpNbjdNQU01T3NJYWs4ZVhUaks3aVNQSjdOZzhUUmNPTm5kT21qZ1dpMFFwd3JkTmVURjNUU0hnK2cyNXdkd1hTZVZxTjl0NzVoV1V3eDhSNGJtM3FRaDRxejNWTUZuQjkyay9KN2NSdDB2TU1tSm1WS3dmaHdXL3ZUS3VEQWVnVUJLRGRkc1Axa09VV1VpU3BSWnp3L3pYRGo5WDZoVGVwZXovbG9uVk5hZTBFbTBtM0VhRHJmYzZHMUxBM3JYWHJ2R1F2NW9oT3prdlpOYmZMbk1PYUpPbVpBQS91bWxSWHJzM1IrNVYwSzI1TzIwdUFtUjRWRWFmb3A0SEd4VlZRcE8yRmt5YThvc1FEcGJNeGNwRGdQZ3ZHeGJzTXlkY3MyN05zdjhVUDhzbmNGQWFPRlJBQ1RuZXQvRFYrU3JaVk5zVXhkaC0tQnZ1MXdGbzBWK0gzNjlxTzJFdUhkdz09--cdbc5200af5265fbfc5e9c45c9e3cf5a6872d542', 'user_session': 'p9mOvXkKsooBAWnzaWI4MTCEY2NcMfOQ6ZplGjIdE-buENW-'} """
#把r2_cookies更新到r1_cookies
r1_cookies.update(r2_cookies)
#获取仓库信息
r3=requests.get(
url="https://github.com/settings/repositories",
cookies=r1_cookies
)
print(r3.text)

2)实现github自动登陆获取信息的更多相关文章

  1. Python 爬虫四 基础案例-自动登陆github

    GET&POST请求一般格式 爬取Github数据 GET&POST请求一般格式 很久之前在讲web框架的时候,曾经提到过一句话,在网络编程中“万物皆socket”.任何的网络通信归根 ...

  2. 爬虫【自动登陆github和抽屉】

    自动登陆github用户详情页 代码 #! /usr/bin/env python # -*- coding: utf- -*- # __author__ = "wuxiaoyu" ...

  3. Python爬虫使用selenium爬取qq群的成员信息(全自动实现自动登陆)

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: python小爬虫 PS:如有需要Python学习资料的小伙伴可以 ...

  4. shell实现SSH自动登陆

    h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...

  5. Vue、Vuex+Cookie 实现自动登陆 。

    概述 1.自动登陆实现思路. 2.vuex + cookie 多标签页状态保持. 自动登陆的需求: 1.登陆时勾选自动登陆,退出登陆或登陆到期后再次登陆后自动填写表单(记住密码)或访问登陆页自动登陆. ...

  6. shell实现SSH自动登陆【转】

    前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错.作为一个懒人,肯定要找一个取巧的方式,查 ...

  7. php实现微信扫码自动登陆与注册功能

    本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...

  8. 2017.11.23 利用Cookie管理实现自动登陆

    Cookie管理 Cookie对象是由服务器产生并保存在客户端的信息,常用他记录用户个人信息以及个性化设置.用户每次访问网点时,应用程序就可以检索以前保存的信息 Cookie对象属于的类是javax. ...

  9. PHP实现微信扫码自动登陆与注册,参考实例

    微信开发已经是现在phper必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单,这里我们一起来看一个微信自动登陆注册的例子. php 微信扫码 pc端自动登陆注 ...

随机推荐

  1. Android设置状态栏颜色

    1.代码设置if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = this.getWindow ...

  2. 清除 SQL Server Management Studio 服务器名称历史记录

    Ø  前言 在开发过程中,经常使用 SQL Server Management Studio 连接本地或远程 SQL Server 服务器,时间长了可能有些名称就不用了或者重复了,SQL Server ...

  3. 在window上使用 linux shell 删除文件夹递归地

    目的 在windows环境下, 整理代码,代码中含有 .svn 文件夹, 此文件夹在所有受控目录下都存在, 需要统一删除. 但是对windows的shell不熟悉,想用linux rm来删除, 如何实 ...

  4. [译]A NON-TRIVIAL EXAMPLE OF MEDIATR USAGE

    原文 来看看我目前的一个项目.这个是一个多租户的财务跟踪系统.有一个组织继承的关系.首先得新建一个组织. 表单如下: 这个表单能让用户输入关于组织的一些信息,包括active directory组,一 ...

  5. 【51nod 1191】消灭兔子

    Description 有N只兔子,每只有一个血量B[i],需要用箭杀死免子.有M种不同类型的箭可以选择,每种箭对兔子的伤害值分别为D[i],价格为P[i](1 <= i <= M).假设 ...

  6. HTTP 返回状态码

    一.HTTP 超文本传输协议 HTTP 是基于客户端/服务端(C/S)的架构模型,通过一个可靠的链接来交换信息,是一个无状态的请求/响应协议. 一个HTTP "客户端"是一个应用程 ...

  7. 1.2 认识python(了解)

    一.Python发展背景 Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国Python程序员都叫他 龟叔),荷兰人.1982年,龟叔从阿姆斯特丹大学获得了数学和计算机硕士学 ...

  8. RESTful API学习Day2 - Django REST framework

    Django REST framework 参考文档: 官方文档:官方文档 中文文档:中文文档 一.是什么? 基于Django开发RESTful API的一个框架 为什么要用它? 补充: ​ CBV的 ...

  9. windows基本命令大全

    1.DOS常用命令详解 dir 列文件名 deltree 删除目录树 cls 清屏 cd 改变当前目录. copy 拷贝文件 diskcopy 复制磁盘 del 删除文件 format 格式化磁盘. ...

  10. 美团面试-canvas实现放射图

    一个nice的面试官对面试经验匮乏者的温暖To snow peak,哈哈 drawRadial(100, 100, 30, 10) /** *@description *用canvas画放射图 * * ...