嘗試從DOM解析HTML數據時,當我使用Chrome的開發人員工具時,我可以在控制檯中看到該數據。當我在本地將頁面保存爲HTML並搜索目標數據時,無法找到它。我已經完成了一些關於靜態HTML文件是如何被瀏覽器接收的信息,以及Javascript如何呈現它們。從DOM解析HTML(非靜態HTML)
具體示例:谷歌「nba」的結果包括一個頁面頂部的表格,其中所有預定的遊戲都嵌套在<tbody>
之內,如果保存該頁面,則HTML文件不包含<tbody>
標籤。嘗試使用帶有Python的BeautifulSoup4解析這張遊戲表。
我不認爲你可以讓Chrome以簡單的方式保存當前的DOM狀態。 IIRC Firefox可以執行此操作,並且可以使用Web檢查器通過右鍵單擊元素並將其保存到文件中來將DOM複製爲HTML。 – millimoose
而不是讓BeautifulSoup4作用於一個保存的文件,你也可以使用一個工具來驅動一個真正的瀏覽器(從而支持Javascript/AJAX)進行屏幕抓取。 WATIR和Ruby的朋友,PhantomJS都是這樣工作的。 – millimoose
你也可以尋找一個合適的API來直接獲取你想要的數據,而不是屏幕抓取。 – millimoose