标签: elixir httpoison
我正在尝试加载一个网页,在初始页面加载后,我感兴趣的数据将通过Ajax加载。提取页面时,当前看到的文本是Loading records...。
Ajax
Loading records...
我想知道可以使用什么技术等到该部分加载后再将数据返回给我。
目前,我正在使用Elixir HTTPoison库,但对Elixir / Erlang中的其他技术持开放态度。
HTTPoison
答案 0 :(得分:1)
像HTTPoison这样的库仅发出初始Web请求,并返回“服务器呈现”的内容。他们不处理客户端代码和标记。您需要像PhantomJS这样的无头浏览器/网络驱动程序来实际处理它并执行javascript代码(类似于普通网络浏览器的工作方式)。
PhantomJS
两个可以完成此任务的流行Elixir库(尽管它们大多用于集成测试),
Hound
Wallaby
如果Ajax调用足够简单,则另一个选择是首先使用HTTPoison加载网页和脚本,然后使用Floki之类的代码提取Javascript代码,解析正在进行的Ajax调用,然后然后通过HTTPoison手动执行。
Floki