# -*- 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. 华为平板安装APK,提示“该安装包未包含任何证书”

    有的平板上会有错误现象 打包时签名勾选v1即可.

  2. web渗透测试基本步骤

       基本常见步骤: 一 .信息收集 要检测一个站首先应先收集信息如whois信息.网站真实IP.旁注.C段网站.服务器系统版本.容器版本.程序版本.数据库类型.二级域名.防火墙.维护者信息有哪些等等 ...

  3. python栈

    class StackEmptyError(Exception): pass class StackFullError(Exception): pass class Stack: def __init ...

  4. 【报错】java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[

    报错 java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleExce ...

  5. Java8新特性(待更新...)

    一.Lambda表达式 二.接口的默认方法与静态方法 三.方法引用 四.重复注解 五.扩展注解的支持 六.Optional 七.Stream 八.Date/Time API (JSR 310) 九.J ...

  6. Java-Servlet -Helloworld

    Servlet 简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏 ...

  7. java基础梳理--朝花夕拾(三)

    1.了解面向对象的编程思想以及面向对象的特性: 对象: EveryThing is Object: 万物皆是对象,在程序中,我们可以将类.接口.方法.属性等都认为是对象: 面向对象: 是一种程序设计方 ...

  8. 第四节:tensorflow图的基本操作

    基本使用 使用图(graph)来表示计算任务 激活会话(Session)执行图 使用张量(tensor)表示数据 定义变量(Variable) 使用feed可以任意赋值或者从中获取数据,通常与占位符一 ...

  9. DataGrid 查不出数据 注意事项

    总结以下几条:1.SQL文在数据控中查询成功在写入,表内字段名尽量复制,手打太容易错了.写SQL写错了,没有智能提示.2.DataGrid数据源先绑定.3.检查parameter顺序,条件的顺序也要考 ...

  10. 建立Oracle GoldenGate凭证

    了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据. 主题: 为Oracle GoldenGate分配凭证 保护Oracle GoldenGate凭证 3.1 为Orac ...