在下面的代码中, 展示了使用Python脚本登录Github的方法。 如果需要登录别的网站,那么请使用Chrome的Inspect的功能寻找到目标的object,对代码进行替换。

代码先登录了github网站,然后在登录过的session里打开了discover页面,然后统计了一下这个网页里加载了多少个项目。

废话不多说,上代码。

from requests import session

from bs4 import BeautifulSoup as bs

USER = 'username@yourmail.local'

PASSWORD = 'InputYourPassword(^_^)'

URL1 = 'https://github.com/session'

URL2 = 'https://github.com/discover'

with session() as s:

req = s.get(URL1).text
     html = bs(req, "lxml")
     token = html.find("input", {"name": "authenticity_token"}).attrs['value']
     com_val = html.find("input", {"name": "commit"}).attrs['value']

login_data = {'login': USER,
                   'password': PASSWORD,
                   'commit' : com_val,
                   'authenticity_token' : token}

r1 = s.post(URL1, data = login_data)

r2 = s.get(URL2)
     data2 = r2.content
    
     page_html = data2
    
     page_soup = bs(page_html, "html.parser")
    
     containers = page_soup.findAll("div", {"class":"mb-1"})
     print("On this page, there are how many projects listed? \n")
     print(len(containers))

上面代码在Python 3.6.5上调试通过并成功运行。

参考资料

================

Intro to Web Scraping with Python and Beautiful Soup

https://www.youtube.com/watch?v=XQgXKtPSzUI&t=1507s

使用Python登录Github网站的更多相关文章

  1. python登录aspx网站

    1.安装模块 2.准备aspx登录页面 3.示例代码 #coding:utf-8 import re from bs4 import BeautifulSoup import gzip import ...

  2. git命令,github网站以及sourceTree用法详解

    1.git下载安装 这里只是windows安装方法: 进入这个网址:http://msysgit.github.com/,点击下载,就会下载下来一个exe文件,双击打开,安装即可 完成安装之后,就可以 ...

  3. 利用Python模拟GitHub登录

    最近学习了Fiddler抓包工具的简单使用,通过抓包,我们可以抓取到HTTP请求,并对其进行分析.现在我准备尝试着结合Python来模拟GitHub登录. Fiddler抓包分析 首先,我们想要模拟一 ...

  4. 使用 Python 登录网站(转)

    对于大部分论坛,我们想要抓取其中的帖子分析,首先需要登录,否则无法查看. 这是因为 HTTP 协议是一个无状态(Stateless)的协议,服务器如何知道当前请求连接的用户是否已经登录了呢?有两种方式 ...

  5. python学习,使用requests库来模拟登录github,post请求。

    这次我们要模拟登录的页面是 https://github.com/login 首先我们先尝试着登陆一遍分析一下请求, 打开开发者工具下的network选项, 可以很清楚的看到这个会话session,而 ...

  6. python爬虫笔记之用cookie访问需要登录的网站

     目标:用cookie访问一个需要登录的网站 如图,直接访问会跳转到登录页面,提示登录. 运行结果: 直接在浏览器上输入该url,网站立马跳转到登录页面.  方法: 1.先手动登录,通过抓包获取coo ...

  7. python编写脚本,登录Github通过指定仓库指定敏感关键字搜索自动化截图生成文件【完美截图】

    前言:为了避免开发人员将敏感信息写入文件传到github,所以测试人员需要检查每个仓库是否有写入,人工搜索审核比较繁琐,所以写一个脚本通过配置 配置文件,指定需要搜索的仓库和每个仓库需要搜索的关键字, ...

  8. python urllib2 模拟网站登陆

    python urllib2 模拟网站登陆 1. 可用浏览器先登陆,然后查看网页源码,分析登录表单 2. 使用python urllib2,cookielib 模拟网页登录 import urllib ...

  9. github网站介绍、并使用git命令管理github(详细描述)

    本章学习: 1)熟悉github网站 2)通过git命令远程管理github, 3)git命令使用ssh key密钥无需输入账号密码 1.首先我们来熟悉github网站 1.1 注册github 登录 ...

随机推荐

  1. poj2155二维树状数组区间更新

    垃圾poj又交不上题了,也不知道自己写的对不对 /* 给定一个矩阵,初始化为0:两种操作 第一种把一块子矩阵里的值翻转:0->1,1->0 第二种询问某个单元的值 直接累计单元格被覆盖的次 ...

  2. python创建__init.py__文件导入模块仍然报错ModuleNotFoundError: No module named 'name'

    今自定义模块后非相同目录导出提示找不到模块报错信息如下: ModuleNotFoundError: No module named 'name' 各方查找各位大神方法很多 参考链接 1.在需要导入的文 ...

  3. 基于TCPCopy的仿真压测方案

    一.tcpcopy工具介绍 tcpcopy 是一个分布式在线压力测试工具,可以将线上流量拷贝到测试机器,实时的模拟线上环境,达到在程序不上线的情况下实时承担线上流量的效果,尽早发现 bug,增加上线信 ...

  4. wmiprvse.exe cpu占用高怎么解决

    可以通过在注册表中设置,来禁用该服务,具体步骤如下:         (1)按下“Win+R”组合键呼出运行,在框中输入“CMD”按下回车打开“命令提示符”:       (2)在命令提示符中输入:r ...

  5. java中final,finally,finalize三个关键字的区别

    final 可以作为修饰符修饰变量.方法和类. 被final修饰的变量必须在初始化时给定初值,以后在使用时只能被引用而不能被修改. 被final修饰的方法不能够在子类中被重写(override): 被 ...

  6. springbank 开发日志 SpringMVC是如何找到handler找到对应的方法并执行的

    从DispatcherServlet说起,本文讨论的内容都是DispatcherServlet的doDispatch方法完成 mappedHandler是一个HandlerExecutionChain ...

  7. php输出json的内容

    $json = '{"foo": 12345}'; $obj = json_decode($json); print $obj->{'foo'}; // 12345

  8. Docker dockerfile镜像编码

    一. 大多数docker基础镜像使用locale查看编码,发现默认编码都是POSIX,这会导致中文乱码.解决方法如下: 二.首先使用locale -a查看容器所有语言环境 三.dockerfile中加 ...

  9. Asp.Net Core2.0获取客户IP地址,及解决发布到Ubuntu服务器获取不到正确IP解决办法

    1.获取客户端IP地址实现方法(扩展类) using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc.ModelBinding; u ...

  10. 磁盘修复工具TestDisk

    磁盘修复工具TestDisk TestDisk一款免费的数据的恢复工具,可以用于还原丢失的磁盘分区,恢复磁盘驱动引导功能.它还能检测磁盘损坏的原因,如病毒感染.人为损坏.恶意软件等.该工具采用文本菜单 ...