美文网首页
github类封装

github类封装

作者: Soft温柔 | 来源:发表于2019-02-15 21:01 被阅读0次

import requests

from lxml import etree

class Github(object):

def init(self):

    # 属性 公共变量 配置项 全局需要访问

    self.login_url = 'https://github.com/login'

    self.do_login_url = 'https://github.com/session'

    self.profile_url = 'https://github.com/settings/profile'

    self.headers = {

    }

    self.s = requests.Session()

def get_csrf_token(self):

    """

    请求表单页,获取authenticity_token(csrf token)

    :return: {str}  'lkweufjLKSJDIW*#LSKJ'

    """

    resp = self.s.get(self.login_url)

    html_content = resp.text

    pattern = '//input[@name="authenticity_token"]/@value'

    dom = etree.HTML(html_content)

    authenticity_token = dom.xpath(pattern)[0]

    return authenticity_token

def do_login(self, authenticity_token):

    """

    去登录

    :param authenticity_token: csrf token 组装请求参数所需

    :return: True

    """

    params = {

        'authenticity_token': authenticity_token,

    }

    resp = self.s.get()

    resp.status_code

    print("登录成功")

    return True

def request_profile(self):

    """

    请求个人设置页

    :return: {str} '<html>...</html>'

    """

    # 请求个人页

    return resp.text

def get_user_email(self, html_content):

    return email

def get_user_name(self, html_content):

    return user_name

# 获取自己的仓库列表

# 获取个人收藏夹仓库列表

if name == ‘main‘:

github = Github()

authenticity_token = github.get_csrf_token()

github.do_login(authenticity_token)

profile_html_content = request_profile()

email = get_user_email(profile_html_content)

print(email)

相关文章

网友评论

      本文标题:github类封装

      本文链接:https://www.haomeiwen.com/subject/tuxveqtx.html