看板 Python 關於我們 聯絡資訊
大家好,第一次碰爬蟲 要到某學校幫學生抓取成績資料,但該學校的網站設計我透過 request,seleium都看不到frame的部份(輸入帳密,還有成績表格部份設計方式一樣) 會有隱私問題就不提供帳密(請見諒),僅以相同設計方式的登入頁面解說 學校網址登入網址 https://khweb.ischool.com.tw/?dn=wfjh.kh.edu.tw#wfjh.kh.edu.tw 以下是code from selenium import webdriver driver = webdriver.Chrome() driver.get('https://khweb.ischool.com.tw/?dn=wfjh.kh.edu.tw#wfjh.kh.edu.tw') print(driver.page_source) 跑出來的結果沒有框架的原始碼,連frame什麼的都沒有 請問大神們 我是不是搞錯什麼? 或是提點我有什麼方向該去查的~ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.253.48.14 ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1509280474.A.FE4.html
neil987: 你有沒有帳密可以測試 有的話直接丟一次 看開發工具 10/29 20:36
neil987: 看他把哪些資料 送到啥網頁 10/29 20:36
好我測試一下不是很熟可能要一段時間 ※ 編輯: ncueBenson (111.253.48.14), 10/29/2017 20:48:44
neil987: 像這樣 https://i.imgur.com/THkotup.png 10/29 20:50
扣掉圖檔、css、font後有6x個檔、其中有xhr、js、htm ※ 編輯: ncueBenson (111.253.48.14), 10/29/2017 20:57:21
neil987: 不是 不管他form怎處理 到最後一定有個網頁收資料 10/29 21:01
neil987: 上面那張圖就是我按登入之後 他送的資料跟目標網頁 10/29 21:02
neil987: 也就是說auth.ischool.com.tw/service/basicauth.php這個 10/29 21:03
neil987: 就是他收登入資料的網址 送的資料圖上有 10/29 21:03
超怪的耶我登失敗登成功這個php都是一樣的內容 裡面有多一個getaccountinfo.php 但該php沒有密碼比較像是認證完從這個php 取得使用者資料 怪了從開發者介面看到的又不同 送了account(帳號) uuid(沒意外就是密碼轉成密文吧?) language(繁中) 名字 還有一些error 的檢查碼 ※ 編輯: ncueBenson (111.253.48.14), 10/29/2017 21:23:49
neil987: 我沒有帳密沒辦法幫你測 反正登入這塊這步看起來是沒錯的 10/29 21:21
coeric: 樓上的意思是 先去Response 看看到底是顯示在哪個頁面吧? 10/29 21:24
我大概再問一下,我現在是不是透過python想辦法傳資料到這個php 如果我得到正確的response我再透過一樣的方式去取的我想要的資料? ※ 編輯: ncueBenson (111.253.48.14), 10/29/2017 21:36:07 有了抓到帳號的正確request感謝 n大 感謝 c大 我明天再試我要拿的資料 謝謝 <3 ※ 編輯: ncueBenson (111.253.48.14), 10/29/2017 21:51:59
vi000246: 看起來是透過basicauth.php判斷帳密是否正確 再呼叫登入 10/29 21:54
vi000246: 動作 你再研究看看網頁下一步會做什麼 10/29 21:54
ncueBenson: 好的我明天下班後試試 我習慣十點就寢~~謝謝三位大大 10/29 21:58
f496328mm: seleium基本上應該無敵吧!很難遇到看不到的 10/30 12:11
zerof: switch_to.frame 10/30 13:43
可是我透過webdriver 看不到frame 還是我有什麼搞錯? ※ 編輯: ncueBenson (111.253.48.14), 10/30/2017 19:43:20
ncueBenson: 有透過frame登入了 可是driver抓到的資料好像是還沒 11/03 12:47
ncueBenson: 登入的網頁 11/03 12:47
ncueBenson: 裡面有個table table裡面的東西都看不到 11/05 15:06