我试图通过脚本登录网站,但是当我打印网站的html内容时,但我无法在登录后看到任何可用的数据... 有人能说出我错过的东西吗?谢谢!
def main():
headers = {
"User-Agent":
"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.101 Safari/537.36",
}
s = requests.session()
s.headers.update(headers)
s.get('https://www.e-ams.at/eams-sfa-account/p/index.jsf')
# Generate the post data
data = {
'url': 'https://www.e-ams.at/eams-sfa-account/p/index.jsf',
'j_username': 'username',
'j_password': 'password'
}
# Perform the post request
r = s.post('https://www.e-ams.at/eams-sfa-account/p/index.jsf', data=data)
# Try to get data only available after login
r = s.get('https://www.e-ams.at/eams-sfa-account/p/EsaSBasisdaten.jsf?eamsTrack=1524234335254')
print(r.url)
print(r.text)
print(r.status_code)
答案 0 :(得分:0)
如果它不是html表单输入的一部分,则指定数据dict中的url是不正确的。 您的要求必须如下:
data = {
'j_username': 'username',
'j_password': 'password'
}
r = s.post('https://www.e-ams.at/eams-sfa-account/p/index.jsf', data=data)
一般来说,表格的所有输入标签(包括可见和隐藏)都必须包含在数据字典中