Python 2.7 使用python登录github

Python 2.7 使用python登录github,python-2.7,login,github-pages,Python 2.7,Login,Github Pages,我一直在上下寻找如何做到这一点,有许多类似的帖子,但我似乎无法让它发挥作用,所以我发现自己必须明确地问如何做到这一点 我正试图在git hub中收集有关我的软件项目的指标。对于许多这些指标,您可以使用API。然而,最有趣的项目之一是github图形/流量上的唯一访问者和视图计数,不幸的是,这些信息不在github API中。所以,为了得到这个,我尝试登录到我的github帐户,导航到该站点,然后获取号码。下面是我的代码。然而,我似乎无法登录github做任何事情(我的url请求继续显示登录页面,

我一直在上下寻找如何做到这一点,有许多类似的帖子,但我似乎无法让它发挥作用,所以我发现自己必须明确地问如何做到这一点

我正试图在git hub中收集有关我的软件项目的指标。对于许多这些指标,您可以使用API。然而,最有趣的项目之一是github图形/流量上的唯一访问者和视图计数,不幸的是,这些信息不在github API中。所以,为了得到这个,我尝试登录到我的github帐户,导航到该站点,然后获取号码。下面是我的代码。然而,我似乎无法登录github做任何事情(我的url请求继续显示登录页面,而不是流量页面)。我认为这可能与需要发布的变量有关,但我不确定它们有什么问题

from requests import session
from bs4 import BeautifulSoup as bs

USER = 'MYID'
PASSWORD = 'MYPASSWORD'

URL1 = 'https://github.com/login'
URL2 = 'https://github.com/MYPROJ/graphs/traffic'

with session() as s:

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

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

    r1 = s.post(URL1, data = login_data)
    r2 = s.get(URL2)

    print(r2.url)
    print bs(r2.text).find('span', {'class':'num js-uniques uniques'})
感谢您的帮助

谢谢, -杰夫

想出来了。
我使用了错误的地址发布我的登录名和用户名,以及其他一些错误的信息。
这是适用于我的更新代码:

from requests import session
from bs4 import BeautifulSoup as bs

USER = 'MyUserName'
PASSWORD = 'Mypassword'

URL1 = 'https://github.com/session'
URL2 = 'https://github.com/MyProj/graphs/traffic-data'


with session() as s:
                  
    req = s.get(URL1).text
    html = bs(req)
    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)

    Cut1 = r2.text.split(',"summary":{"total":',2)
    
    ViewsTot = Cut1[1].split(',"unique":',1)
    ViewsUnq = ViewsTot[1].split('}}',1)

我不知道发布时的情况,不过现在Github需要cookies。