我可能會用錯誤的術語來說這個,所以如果我錯了,請糾正。javascript執行後從DOM獲取html
這是我想要做的:我試圖抓取一個網站的評論部分,但評論是在頁面完全加載後通過ajax調用加載的。當我嘗試通過以下網址從網站上刮取HTML時:
res, err:= http.Get(url)
if err != nil {
// handle error
}
defer res.Body.Close()
但是它顯然在ajax調用之前獲取了html。如何在ajax調用後獲取html?
這完全是我的頭頂,但我需要基本上在這個代碼中創建一個js渲染器?我的猜測是JS需要以某種方式執行。任何關於如何去做這件事的建議/圖書館/例子?我寧願這樣做,但它可以用任何語言寫實。
這是永遠不會工作。我不會深究它,但Go http客戶端不是瀏覽器。當頁面加載到瀏覽器中時,瀏覽器解析腳本並執行它們,這在這裏不會發生。如果你想刮一個頁面,最好使用Selinium之類的東西,這個東西是用於網絡用戶界面自動化的。另一種選擇是一個名爲phantomjs的工具,它的功能相同,但在這種情況下,腳本不會執行。最重要的是,你需要使用JavaScript。您需要掛鉤頁面加載並在完成後運行callbakc。 – evanmcdonnal
廢棄註釋部分,直接調用ajax網址加載評論,然後您將收到評論。 你有一個網站的例子來看看? – OscarRyz