2)实现github自动登陆获取信息
# -*- 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自动登陆获取信息的更多相关文章
- Python 爬虫四 基础案例-自动登陆github
GET&POST请求一般格式 爬取Github数据 GET&POST请求一般格式 很久之前在讲web框架的时候,曾经提到过一句话,在网络编程中“万物皆socket”.任何的网络通信归根 ...
- 爬虫【自动登陆github和抽屉】
自动登陆github用户详情页 代码 #! /usr/bin/env python # -*- coding: utf- -*- # __author__ = "wuxiaoyu" ...
- Python爬虫使用selenium爬取qq群的成员信息(全自动实现自动登陆)
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: python小爬虫 PS:如有需要Python学习资料的小伙伴可以 ...
- shell实现SSH自动登陆
h2:first-child, body>h1:first-child, body>h1:first-child+h2, body>h3:first-child, body>h ...
- Vue、Vuex+Cookie 实现自动登陆 。
概述 1.自动登陆实现思路. 2.vuex + cookie 多标签页状态保持. 自动登陆的需求: 1.登陆时勾选自动登陆,退出登陆或登陆到期后再次登陆后自动填写表单(记住密码)或访问登陆页自动登陆. ...
- shell实现SSH自动登陆【转】
前言 公司开发使用docker,每次登陆自己开发机总要输入 ssh user_name@ip_string,然后再确认输入password,手快了还经常会输错.作为一个懒人,肯定要找一个取巧的方式,查 ...
- php实现微信扫码自动登陆与注册功能
本文实例讲述了php实现微信扫码自动登陆与注册功能.分享给大家供大家参考,具体如下: 微信开发已经是现在程序员必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单 ...
- 2017.11.23 利用Cookie管理实现自动登陆
Cookie管理 Cookie对象是由服务器产生并保存在客户端的信息,常用他记录用户个人信息以及个性化设置.用户每次访问网点时,应用程序就可以检索以前保存的信息 Cookie对象属于的类是javax. ...
- PHP实现微信扫码自动登陆与注册,参考实例
微信开发已经是现在phper必须要掌握的一项基本的技术了,其实做过微信开发的都知道微信接口非常的强大做起来也非常的简单,这里我们一起来看一个微信自动登陆注册的例子. php 微信扫码 pc端自动登陆注 ...
随机推荐
- Ext.net GridPanel锁定列需要注意的几个问题
1.注意需要加LockingGridView <ext:Column DataIndex="Name" Header="姓名" Width="1 ...
- 导入numpy时,出错怎么解决?
在linux中导入numpy时出错,出现如下图所示的问题,采用更新版本的问题并未解决, 解决方法如下:进入文件夹中,删除其中的numpy文件夹,其他的文件夹不动,然后重新安装numpy即可
- deque
转自:https://www.cnblogs.com/LearningTheLoad/p/7450948.html deque双向开口可进可出的容器 我们知道连续内存的容器不能随意扩充,因为这样容易扩 ...
- SqlServer 左右内连接
- luogu P5234 [JSOI2012]越狱老虎桥
传送门 题目要求割掉一条边后使得图不连通,那么可以使用tarjan算法求出所有的割边,然后把边双缩成点,就能得到一棵树,现在问题是在加入一条边的情况下,割掉最小的一条边使得图不连通,割掉的这条边权值最 ...
- vue学习之生命周期和钩子函数
参考文章:Vue2.0 探索之路——生命周期和钩子函数的一些理解 抛出问题: 我们有时候会在几个钩子函数里做一些事情,那么什么时候做,该在哪个函数里做? 生命周期简介 结合代码看el 和 data以及 ...
- iic 之24C256存储器 及PCF8563
参考文章: http://www.21ic.com/jichuzhishi/mcu/memory/2013-02-28/159439.html 完整的例子: http://blog.csdn.net/ ...
- java基础(持续整理)
文本会梳理java这门语言的所有基础知识,所谓“掌握”这门语言. 1.底层容器 2.并发包 1.locks部分:包含在java.util.concurrent.locks包中,提供显式锁(互斥锁和速写 ...
- mysql 查询优化 ~ 优化基础补充
一 简介:此文章是对于 sql通用基础的补充说明 二 虚拟列: mysql虚拟列是mysql5.7的新特性,对于函数计算形成的结果可作为虚拟列,并可以对虚拟列添加索引,这样就能加速sql的运行,不过有 ...
- EL表达式 EL函数 自定义el函数 《黑马程序员_超全面的JavaWeb视频教程vedio》
\JavaWeb视频教程_day12_自定义标签JSTL标签库,java web之设计模式\day12_avi\12.EL入门.avi; EL表达式 1. EL是JSP内置的表达式语言! * jsp2 ...