[英]python scraping school's webpage which requires user login
我正在使用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將給我我自己的學生帳戶頁面,而不是給我一個登錄要求頁面。 有人可以幫我解決這個問題嗎? 順便說一句,這不是家庭作業
這里有一些選項,我認為可以通過手動登錄並復制標頭來簡化您的請求方法。
此外,成功完成發布后,您需要再次請求登錄的主頁。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.