Python 通过爬虫实现GitHub网页的模拟登录的示例代码

Python 通过爬虫实现GitHub网页的模拟登录的示例代码。

示例一:利用requests和beautifulsoup

import requests
from bs4 import BeautifulSoup

# 登录页面url
login_url = "https://github.com/login"

# 浏览器请求头
headers = {
    'Referer': 'https://github.com/',
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.82 Safari/537.36 Edg/89.0.774.54'
}

# 构建session
session = requests.Session()

# 获取登录页面html
login_page_html = session.get(login_url, headers=headers).text

# 解析登录页面html
soup = BeautifulSoup(login_page_html, "html.parser")
# 获取authenticity_token字段
authenticity_token = soup.find('input', attrs={'name': 'authenticity_token'})['value']

# 登录信息
login_data = {
    'commit': 'Sign in',
    'utf8': '✓',
    'authenticity_token': authenticity_token,
    'login': 'xxxxx',  # github登录名
    'password': 'xxxxx'  # github登录密码
}

# 发送登录请求
session.post(login_url, headers=headers, data=login_data)

# 验证是否登录成功
profile_url = "https://github.com/settings/profile"
page_html = session.get(profile_url).text
profile_soup = BeautifulSoup(page_html, "html.parser")
profile_name = profile_soup.find(class_='p-nickname').get_text().strip()
print('登录成功,用户名:' + profile_name)

示例二:利用selenium

from selenium import webdriver
import time

# Github的触发登录URL
login_url = 'https://github.com/login'

# 创建apk浏览器驱动
driver = webdriver.Chrome()

# 打开登录页面
driver.get(login_url)

# 清空用户名输入框并输入用户名
username = driver.find_element_by_xpath('//*[@id="login_field"]')
username.clear()
username.send_keys('xxxxx')  # github登录名

# 清空密码输入框并输入密码
password = driver.find_element_by_xpath('//*[@id="password"]')
password.clear()
password.send_keys('xxxxx')  # github登录密码

# 点击登录按钮
login_btn = driver.find_element_by_xpath('//*[@id="login"]/form/div[4]/input[12]')
login_btn.click()

# 等待登录成功
time.sleep(5)

# 检验是否登录成功
profile = driver.find_element_by_xpath('//*[@id="user-links"]/li[3]/details/summary/span')
print('登录成功,用户名:' + profile.text)

# 关闭浏览器
driver.close()

以上是两个示例代码,第一个示例使用requestsbeautifulsoup模块实现模拟登录github网站的过程,主要是通过构建session对象和访问登录页面获取 authenticity_token 字段, 最终通过发送登录请求实现了登录;

第二个示例使用selenium模块模拟浏览器访问指定URL,清空和输入用户名和密码,最终实现了登录操作。该方法需要安装Chrome或Firefox等浏览器,并下载相应的浏览器驱动,可以实现JavaScript渲染和动态加载实现的登录,更加适用于网站复杂的登陆操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 通过爬虫实现GitHub网页的模拟登录的示例代码 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • git使用教程(最详细、最傻瓜)

    Git 使用教程(最详细、最傻瓜) Git 是目前世界上最流行的分布式版本控制系统,它可以让你高效地进行代码管理,并保证代码安全性。本文将详细介绍 Git 的使用方法,以方便大家快速上手。 安装 Git 首先需要在本地安装 Git,可参考官网下载:https://git-scm.com/downloads。 可以选择合适的系统版本进行下载,安装完成后,打开终…

    GitHub 2023年5月16日
    00
  • 在Ubuntu系统中使用Git客户端来操作GitHub代码

    下面我将为您详细讲解在Ubuntu系统中使用Git客户端来操作GitHub代码的完整攻略,包含两条示例说明。 一、安装Git客户端 在终端中输入以下命令以安装Git客户端: sudo apt-get update # 更新软件源 sudo apt-get install git # 安装Git 安装完成后,输入以下命令进行验证 git –version 如…

    GitHub 2023年5月16日
    00
  • go doudou开发gRPC服务快速上手实现详解

    go doudou开发gRPC服务快速上手实现详解 简介 本篇攻略旨在介绍如何使用go doudou快速上手实现gRPC服务,并提供2个示例说明。关于go doudou,它是一个快速开发Go语言web应用和RPC服务的轻量级框架。 步骤 步骤1:安装go doudou 安装go doudou,可以参考官方文档进行安装,安装完毕后,确保go doudou已经在…

    GitHub 2023年5月16日
    00
  • iOS如何封装带复制功能的UILabel示例代码

    iOS如何封装带复制功能的UILabel示例代码,这个问题需要分两方面来讲解。 首先是UILabel的封装 我们首先需要创建一个继承于UILabel的子类,并重写父类的initWithFrame:方法,添加如下代码: – (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFra…

    GitHub 2023年5月16日
    00
  • Android实现网易云音乐的旋转专辑View

    以下是Android实现网易云音乐的旋转专辑View的完整攻略: 说明 在实现旋转专辑View之前,我们首先需要掌握以下知识: View的绘制 动画 Matrix变换 示例一:自定义View实现旋转效果 首先,我们需要创建一个自定义View,这个View将用于显示旋转的专辑图片。 public class AlbumView extends ImageVie…

    GitHub 2023年5月16日
    00
  • Pycharm Git 设置方法

    首先,在Pycharm中设置Git需要安装Git软件及在Pycharm中安装Git插件。 第一步:安装Git软件。可以到Git官网下载Git软件安装程序进行安装。 第二步:在Pycharm中安装Git插件。在Pycharm中点击File -> Settings,打开设置窗口,选择Plugins,搜索git并安装。 第三步:设置Pycharm中git路径…

    GitHub 2023年5月16日
    00
  • git详细安装教程及下载太慢的解决办法

    Git详细安装教程及下载太慢解决办法 安装Git 下载Git安装程序 从Git官网(https://git-scm.com/downloads)下载适合您操作系统的安装包。 安装Git 运行安装程序,根据提示完成安装。在安装过程中,可以按照默认设置,也可以根据个人需要进行配置。 配置Git 打开命令行窗口,输入以下命令进行配置: bash $ git con…

    GitHub 2023年5月16日
    00
  • Visual Studio安装git插件的方法步骤

    以下是Visual Studio安装Git插件的方法步骤: 步骤1:下载Git客户端 首先,需要从Git官网下载安装Git客户端,地址是:https://git-scm.com/downloads 注意:在安装Git过程中,可以选择“Use Visual Studio Code as Git’s default editor”选项,这样可以使用Visual …

    GitHub 2023年5月16日
    00
合作推广
合作推广
分享本页
返回顶部