我可能会用错误的术语来说这个,所以如果我错了,请纠正。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