我試圖創建一個程序,每天從網站上抓取我的學校成績。然後存儲這些值併爲我的成績創建一個圖表,但是當我嘗試刮取頁面時,我收到的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