あなたはソースからそれを解析することができます:あなたは、ログインページのソースを見れば、あなたは、属性言語=「javascript1.1」でスクリプト内で、
In [29]: from bs4 import BeautifulSoup
In [30]: import re
In [31]: patt = re.compile("document.cplogin.uuid.value=\"(.*?)\"")
In [32]: with requests.Session() as s:
....: page = s.get('http://myneu.neu.edu/cp/home/displaylogin').content
....: soup = BeautifulSoup(page, "html.parser")
....: script = soup.find("script", language="javascript1.1")
....: uuid = patt.search(script.text).group(1)
....:
In [33]: uuid
Out[33]: u'ff3e7ddd-0823-4f44-a003-0e68a9321e08'
uuidを見ることができます:
function login()
{
setQueryAsCookie();
document.cplogin.user.value=document.userid.user.value;
document.cplogin.uuid.value="21fbc26a-3a3d-4802-ba4a-39a40aad881c";
document.cplogin.submit();
}
投稿すると、残りのフォームデータと一緒に投稿するだけです。
ポストのURLもhttps://myneu.neu.edu/cp/home/loginのようですので、:
from bs4 import BeautifulSoup
import re
patt = re.compile("document.cplogin.uuid.value=\"(.*?)\"")
data = {"user":"uname", "pass":"passw"}
post = "https://myneu.neu.edu/cp/home/login"
with requests.Session() as s:
page = s.get('http://myneu.neu.edu/cp/home/displaylogin')
soup = BeautifulSoup(page.content, "html.parser")
script = soup.find("script", language="javascript1.1")
uuid = patt.search(script.text).group(1)
data["uuid"] = uuid
resp = s.post(post, data=data)
は、なぜあなたは他のデータと、それに沿って通過しませんか? –
リクエストがあってもわからないウェブサイトからuuidを取得することはできません –
これはリクエストとは関係ありません。確かにあなたはあなたがユーザー名とパスワードを取得した同じ場所からuuidを取得します。 –