我想從紐約馬拉松2016(http://results.nyrr.org/event/M2016/finishers)的跑步者的信息數據庫。這是一個JavaScript大型網站,需要點擊每個「展開結果」才能加載其信息。正如你所看到的,有超過5萬名選手,所以這項任務並不容易。關於刮JavaScript重網站的建議
我一直在嘗試使用Python-selenium來做到這一點。首先,我點擊「顯示更多」,直到我獲得所有參賽選手的名單。然後,我點擊每個參賽者的「展開結果」按鈕,最後使用BeautifulSoup獲取我想要的信息。這種方法的問題在於它非常緩慢並且出錯,因爲有時沒有按鈕可以點擊。
我想問一下有哪些方法可以做到這一點。有沒有更好的方法來創建這個數據庫?任何關於更好的方法或如何改善我的意見將不勝感激。
進入瀏覽器的網絡面板,找出擴展結果後發送的請求,並複製它。沒有涉及硒。 – Ryan
它似乎** http://results.nyrr.org/api/runners/finishers(POST)**正在使用**「pageSize」:51(在有效載荷中)**如果您只想驗證結果數可以改變這個數字 – mahesh
@Ryan我可以做我在展開結果時發送的request.post。然而,在響應中使用BeautifulSoup後,似乎數據不存在,我無法找到它。 – Belisario