看板 Python 關於我們 聯絡資訊
先謝謝您點進來。 小弟原本使用bs4來抓取網站表格資料 但發現時常多抓幾次之後就無法抓到資料。 https://histock.tw/stock/brokerprofit.aspx?bno=1470 (欲抓取以上表格) 但後來發現可能是動態資料問題,或需要登入資料(如果是一個月的資料) 所以改用selenium來操作。 先付上我的程式碼 https://imgur.com/xqE99nH.jpg
一直到38行都還算相當順利 但是到了41~44行,是查找了其他資訊所得的結果 但是44行卻因為網站資料的attribute為空白 遭遇無法抓到表格上資料的問題 請問該如何解決(或有更簡易的表格抓取方式) 非常感謝 ***更新*** 目前確定問題出在登入。若僅使用當日資料,是確定可以抓到資料 (網頁上也不用登入即可) 一旦查詢當月資料,則需要登入才可。(否則抓到的內容沒有登入後的資料) 但是這裡遇到另一個問題,就是cookie的使用方式 目前也已參照書本的用法 卻還是找不到資料 https://imgur.com/oWiRmn3.jpg
請問該如何修改呢? 謝謝您 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.165.157.40 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1620232020.A.FD1.html
TakiDog: 確認回應 ststus code跟內容05/06 09:47
T大,有確定status 200,確定應該是登入問題 ※ 編輯: crazystyle63 (1.165.157.40 臺灣), 05/06/2021 16:40:48
poototo: 用session登入,不必特別處理cookie05/06 16:46
poototo: 登入成功後,session就直接打你要的頁面05/06 16:47
poototo: ss = requests.Session()05/06 16:48
poototo: 用ss.get 或 post....05/06 16:48
謝謝P大,這個方法我再試試看(因為我漏了個方法)。目前我修改之後可確定可行的(也無使
TakiDog: 看到你在其他地方po ,再回一下好了05/06 16:52
TakiDog: 同樓上,用requests.session去處理登入,並且寫好登入05/06 16:52
TakiDog: requests可以做到,用不到selenium05/06 16:52
TakiDog: 除了status code還是看內容,才能去檢查response是不05/06 16:53
TakiDog: 是有登入成功了,畢竟status code亂傳的網頁不少:D05/06 16:53
T大謝謝您,後來我捨棄selenium就是因為有檢查到是登入的問題,經過修改之後目前是可以得到正確資料了 ※ 編輯: crazystyle63 (1.165.157.40 臺灣), 05/06/2021 17:10:50 ※ 編輯: crazystyle63 (1.165.157.40 臺灣), 05/06/2021 17:11:53 ※ 編輯: crazystyle63 (1.165.157.40 臺灣), 05/06/2021 17:12:35