APIを使わずにリクエストモジュールを使用してgithubにサインインするのは自分自身の挑戦でした。このコードを取得してもステータスコードは200ですが「不正なユーザー名またはパスワード」というメッセージが表示されます。資格が正しい場合でも!GithubにPythonを使用していますが、APIは使用していません
ありがとうございました。ありがとう。
import requests
from bs4 import BeautifulSoup
def github_login():
s = requests.Session()
git = BeautifulSoup(s.get('https://github.com/login').text, 'html.parser')
auth_token = git.find("input", {"name": "authenticity_token"}).attrs['value']
commit = git.find("input", {"name": "commit"}).attrs['value']
data = {
'username': 'username',
'password': 'password',
'commit' : commit,
'authenticity_token' : auth_token
}
headers = {
"Host": "www.github.com",
"Origin": "https://www.github.com",
"X-Requested-With": "XMLHttpRequest",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.52 Safari/536.5",
}
login = s.post('https://github.com/session', data=data)
print (login.status_code)
print(login.text)
github_login()
なぜすべきですか?私は実際にそれを得ることはありません –
なぜこのアプローチを使用するのですか?私は自分自身にウェブのスクラップやボットの構築を教えているので、ここではアイデアが来る – Mohamed
私はこれで少し遊んだが、唯一見つけたのは、セッション。私が作った唯一の他の変更は、フォームにutf8フィールドを含めることでした。 – lolsborn