我试图创建一个程序,每天从网站上抓取我的学校成绩。然后存储这些值并为我的成绩创建一个图表,但是当我尝试刮取页面时,我收到的HTML不同于那些与检查元素一起获得的HTML。网络搜集我的成绩
from urllib.request import urlopen
from bs4 import BeautifulSoup
html = urlopen("https://ames.usoe-dcs.org/Students/2567")
bsObj = BeautifulSoup(html.read(), 'lxml');
print(bsObj)
检查元素给了我:http://pastebin.com/BakmpqUM
而Python给我:http://pastebin.com/7gPY1WgB
我想,这是因为URL到我的成绩(https://ames.usoe-dcs.org/Students/2567)是私有的,所以当你将它输入浏览器它返回我这里:https://ames.usoe-dcs.org/Login/?DestinationURL=%2FStudents%2F2566
有没有办法使用python来自动登录我?
您必须弄清楚该网站如何让您在浏览器中进行身份验证。例如,当你用你的用户名/密码成功登录时,HTTP响应可能会返回一个'Set-Cookie'头,你必须将所有后续的HTTP请求传递给它。 – ryannjohnson
如果网站从未将您注销,那么您可以将cookie保存在脚本中(而不是用户名和密码)。 – ryannjohnson