国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python爬蟲使用腳本登錄Github并查看信息

2020-02-15 22:24:07
字體:
來源:轉載
供稿:網友

前言分析目標網站的登錄方式

目標地址: https://github.com/login   

登錄方式做出分析:

第一,用form表單方式提交信息,

第二,有csrf_token,

第三 ,是以post請求發送用戶名和密碼時,需要第一次get請求的cookie

第四,登錄成功以后,請求其他頁面是只需要帶第一次登錄成功以后返回的cookie就可以。

以get發送的請求獲取我們想要的token和cookie

代碼:

import requests  from bs4 import BeautifulSoupr1 = requests.get('https://github.com/login')soup = BeautifulSoup(r1.text,features='lxml') #生成soup 對象s1 = soup.find(name='input',attrs={'name':'authenticity_token'}).get('value') #查到我們要的tokenr1_cookies = r1.cookies.get_dict() # 下次提交用戶名時用的cookie# print(r1_cookies)  # print(s1)

#結果::

{'logged_in': 'no', '_gh_sess': 'VDFWa2hJWjFMb1hpRUFLRDVhUmc3MXg1Tk02TDhsUnhDMERuNGpyT2Y4STlQZ2xCV1lCZEFhK21wdFR1bkpGYUV0WEJzcDEydWFzcm93aVc4Nk91Q2JicmtRV0NIQ0lRSWM4aFhrSVFYbCtCczBwdnhVN0YySVJJNUFpQnhyTzNuRkJwNDJZUWxUcEk2M2JkM3VSMDdXVHNOY1htQkthckJQZDJyUVR2RzBNUkU3VnltRVF2Um1admU3c3YzSGlyVnVZVm0ycnA1eUhET1JRVWNLN0pSbndKWjljMGttNG5URWJ1eU8rQjZXNEMxVEthcGVObDFBY2gvc2ZzWXcvWWZab29wQWJyU0l6cmZscWhBQUlzYTA3dTRtb3l1S0hDYytHY2V1SUhEWlZvVlZoSWZpTzBjNmlidFF2dzI2bWgtLTJON1lqbm5jWUtSYmtiVEM1clJPakE9PQ%3D%3D--897dbc36c123940c8eae5d86f276dead8318fd6c'}pRz0wapEbu5shksGCeSN0FijWoU9ALw8EPUsXlqgcw1Ezirl0VbSKvkTYqIe8VhxhPH2H/uzGaV6XX+yjTGoVA==

獲取這兩個值就可以,進行下一步發送登錄請求:

第二步post方式提交用戶名密碼

代碼::

這個代碼接著上面的get請求,只是post請求的部分,

r2 = requests.post(  'https://github.com/session',  data ={    'commit':'Sign in',    'utf8':'✓',    'authenticity_token':s1,    'login':'541756569@qq.com',    'password':'用戶名密碼'         # 填上正確的用戶名即可  },  cookies = r1.cookies.get_dict(),    # 這里需要第一次的cookie)print(r2.cookies.get_dict())   # 這個是成功以后的cookie

成功以后就返回登錄頁面的信息。

基于post登錄成功后查看個人詳情頁。

這里只需要帶著登錄成功以后的cookie 就可以

#完整代碼

import requestsfrom bs4 import BeautifulSoupr1 = requests.get('https://github.com/login')soup = BeautifulSoup(r1.text,features='lxml')s1 = soup.find(name='input',attrs={'name':'authenticity_token'}).get('value')r1_cookies = r1.cookies.get_dict()print(r1_cookies)print(s1)r2 = requests.post(  'https://github.com/session',  data ={    'commit':'Sign in',    'utf8':'✓',    'authenticity_token':s1,    'login':'541756569@qq.com',    'password':'密碼'  },  cookies = r1.cookies.get_dict(),)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 旬阳县| 通州区| 武穴市| 顺义区| 桦川县| 延安市| 友谊县| 洞头县| 怀宁县| 康平县| 宜昌市| 安康市| 临安市| 怀远县| 尚志市| 离岛区| 芮城县| 望谟县| 雅安市| 隆昌县| 贵州省| 菏泽市| 大名县| 马山县| 淮安市| 大同市| 汝城县| 玛沁县| 交城县| 罗定市| 奉新县| 湘潭县| 伊金霍洛旗| 山阴县| 东丰县| 长治市| 清流县| 汉阴县| 顺义区| 巴彦淖尔市| 江安县|