我正在尝试在我的大学ID的仪表板页面上转到一个链接(出勤链接),(在我使用请求制作了一个登录网站的脚本之后)。
我收到了链接的href
并将其附加到网页的主网址,即href
看起来像这样:
../Student/StudentAttendanceView.aspx?SID=d5ZJjDPElr2gLui0QuBhtA==|KfGEwXYb8QU=
以及地址栏上链接的网址:
http://erp.college_name.edu/Student/StudentAttendanceView.aspx?SID=d5ZJjDPElr2gLui0QuBhtA==|KfGEwXYb8QU=
因此,从..
移除了href
后,我将其附加到http://erp.college_name.edu
。
问题在于,当我尝试从链接中获取source-code-text
时,网站不允许我这样做,而不是源代码(出勤链接页面)我正在获取这样:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Index</title>
</head>
<body>
<center><img src="images/stop-sign-small2.jpg" /></center>
</body>
</html>
有什么问题?为什么网站不允许我这样做?我还在登录时解析标题,还有一些额外的标题,但仍然无法访问:
这个问题与我之前关于同一项目in case you want to relate的问题有关。我该如何解决这个问题?
代码:
import requests
from bs4 import BeautifulSoup
url = 'http://erp.college_name.edu/'
start = requests.session()
token = '3BA8C6EB'
token_1 = 'value'
stuff = {
'tbUserName': 'my_usrname',
'tbPassword': 'my_pass',
'__VIEWSTATEGENERATOR': ''.join(token),
'btnLogIn': 'Login',
'__VIEWSTATE' : ''.join(token_1),
}
new_stuff = {
'__EVENTTARGET' : '',
'__EVENTARGUMENT': '',
'__VIEWSTATE': 'value',
'tbUserName': 'my_username',
'tbPassword': 'my_pass',
'__VIEWSTATEGENERATOR': '791C70D1',
'btnLogIn': 'Login',
}
opens = start.post(url=url, data=stuff)
soup = BeautifulSoup(opens.text, 'lxml')
for I in soup.find_all('div', class_='lPanel'):
L = 'http://erp.college_name.edu' + str(I.findAll('li')
[4].a.get('href')
[2:])
attendance = start.get(url=L, headers=new_stuff, data=stuff)
print(attendance)