파이썬을 사용하여 학교의 웹 페이지를 긁어 모으기 위해 먼저 사용자 로그인을 시뮬레이트해야했습니다. 내가 그 response.text을 기대하고사용자 로그인이 필요한 파이썬 스크래핑 학교의 웹 페이지
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
하는 대신 나에게 요구 사항 페이지에서 로그를 준다 저에게 내 자신의 학생 계정 페이지를 줄 것이다 : 여기 내 코드입니다. 어느 누구도이 문제를 도와 줄 수 있습니까? 여기가 숙제가 아닙니다.
브라우저가 실제로 요청한 내용과 비교해 볼 수 있습니까? 양식 필드를 놓친 적이 있습니까? –
@paradox 성공적으로 게시 한 후에 홈페이지를 다시 요청하면 어떻게됩니까? 귀하의 게시물이 성공적 이었음을 어떻게 알 수 있습니까? – David542
@paradox - 또한 게시 url이 아닌 https://my.emich.edu/c/portal/login? – David542