Python模拟Github登陆,详情请查看源码点链接进入Python-Spiders文集,模拟Github登陆可以分为五个操作步骤,步骤如下:
模拟Github登陆步骤: 1、请求头:self.headers,请求url; 2、设置session,保存登陆信息cookies,生成github_cookie文件; 3、POST表单提交,请求数据格式post_data; 4、authenticity_token获取; 5、在个人中心验证判断是否登陆成功,输出个人中心信息即登陆成功。
一、获取请求头
① 在浏览器中敲入https://github.com/login,同时右击页面查看检查
,如下图所示:
github_login1.png
② 点击红框内login
进入如下图所示:
github_login2.png
③ 源码中对应部分:
# 设置请求头self.headers = { 'Referer': 'https://github.com/', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36', 'Host': 'github.com'}
二、保存登陆信息cookies
① 设置session
② 保存登陆信息cookies,生成github_cookie文件,用cookies保存的信息加载个人设置,验证是否模拟登录成功
③ 源码中对应部分:
# 设置sessionself.session = requests.session()# 生成github_cookie文件self.session.cookies = cookielib.LWPCookieJar(filename='github_cookie')
三、POST表单提交
① POST表单提交字段获取,如下图所示:
github_login3.png
② 源码中对应部分:
登陆时表单提交参数 Form Data: commit:Sign in utf8: authenticity_token:yyZprIm4aghZ0u7r25ymZjisfTjGdUAdDowD9fKHM0oUvHD1WjUHbn2sW0Cz1VglZWdGno543jod2M8+jwLv6w== login:***** password:******
四、authenticity_token获取
① 在浏览器中敲入https://github.com/login,获取网页文本文件
② 源码中对应部分:
# 获取authenticity_token def get_token(self): response = self.session.get(self.loginUrl, headers=self.headers) html = etree.HTML(response.text) authenticity_token = html.xpath('//div/input[2]/@value') print(authenticity_token) return authenticity_token
五、在个人中心验证判断是否登陆成功
在个人中心验证判断是否登陆成功,输出个人中心信息即登陆成功,如下图:
github_login4.png
即模拟GitHub模拟登陆成功。
注意:Python-Spiders文集中收录了较多的爬取文件练习资料,后期也会陆续更新新的Python-Spiders学习资料,共同学习,一起进步,喜欢的小伙伴请Star和Fork哦,对
作者:博行天下
链接:https://www.jianshu.com/p/1f8a45b3f20a
點擊查看更多內容
為 TA 點贊
評論
評論
共同學習,寫下你的評論
評論加載中...
作者其他優質文章
正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦