0
我正在使用python抓取我學校的網頁,但爲了做到這一點,我需要首先模擬用戶登錄。這裏是我的代碼:需要用戶登錄的python抓取學校網頁
import requests, lxml.html
s = requests.session()
url = "https://my.emich.edu"
login = s.get(url)
login_html = lxml.html.fromstring(login.text)
hidden_inputs = login_html.xpath(r'//form//input[@type="hidden"]')
form = {x.attrib["name"]:x.attrib["value"] for x in hidden_inputs}
form["username"] = "myusernamge"
form["password"] = "mypassword"
form["submit"] = "LOGIN"
response = s.post("https://netid.emich.edu/cas/loginservice=https%3A%2F%2Fmy.emich.edu%2Fc%2Fportal%2Flogin",form)
response = s.get("http://my.emich.edu")
f = open("result.html","w")
f.write(response.text)
print response.text
我期待那response.text會給我我自己的學生賬戶頁面,而不是它給了我一個登錄頁面的要求。任何人都可以幫助我解決這個問題嗎? 順便說一句,這不是作業
您可以將您所做的請求與您的瀏覽器執行的實際請求進行比較嗎?你錯過了任何表單域? –
@paradox如果您在成功發佈後再次請求主頁,會發生什麼情況?你怎麼知道你的帖子是成功的? – David542
@paradox - 另外,是不是後網址https://my.emich.edu/c/portal/login? – David542