是否有可能在Golang中获得需要JS的网页?

时间:2017-05-16 11:24:19

标签: javascript go server

创建一个微服务,获取几个网站的主页html。 其中一个执行已启用JS的检查并重定向到错误页面 如果没有检测到JS。

Golang有没有解决方法?

编辑:尝试使用this package (JavaScript interpreter),但没有运气..

感谢

3 个答案:

答案 0 :(得分:1)

是的,有可能。就像前面提到的Gonzalez一样,PhantomJS是一个不错的选择。但是我想澄清一些事情,首先,由于开发人员未提供Linux版PanthomJS的二进制文件,因此在Linux上使用phantomgo存储库存在一个问题。

使用此存储库的方式应遵循以下说明:

  1. go get github.com/k4s/webrowser
  2. $GOPATH/src/github.com/k4s/phantomgo/phantomgojs
  3. this page上为您的PhantomJS平台下载预编译的二进制文件。
  4. 将二进制文件添加到import ( "fmt" "io/ioutil" "net/http" . "github.com/k4s/webrowser" ) func main() { p := &Param{ Method: "GET", Url: "http://google.com", Header: http.Header{"Cookie": []string{"your cookie"}}, UsePhantomJS: true, } brower := NewWebrowse() resp, err := brower.Download(p) if err != nil { fmt.Println(err) } body, err := ioutil.ReadAll(resp.Body) fmt.Println(string(body)) fmt.Println(resp.Cookies()) } 文件夹中。
{{1}}

答案 1 :(得分:0)

使用Headless Chrome。 这是一个example

答案 2 :(得分:0)

试用PhantomJS for Go https://github.com/k4s/phantomgo

我尝试了一次它对我有用,也许它会帮助你。