gpt4 book ai didi

javascript - 是否可以在Golang中获取需要JS的网页?

转载 作者:IT王子 更新时间:2023-10-29 02:21:59 26 4
gpt4 key购买 nike

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

Golang 有解决办法吗?

编辑:试图玩 this package (JavaScript interpreter)但没有运气..

EDIT2:2020 年,转而使用 js Puppeteer

它使用嵌入式浏览器,是一个非常成熟的实用程序库。对于复杂的网络应用程序,嵌入式浏览器确实是唯一的选择

对于用其他 js 编写的后端,我仍然会使用“Puppeteer”作为微服务

希望这对以后的人有帮助

谢谢

最佳答案

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

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

  1. 去获取 github.com/k4s/phantomgo
  2. 去获取 github.com/k4s/webrowser
  3. this page 上为您的 PhantomJS 平台下载预编译的二进制文件.
  4. 将二进制文件添加到 $GOPATH/src/github.com/k4s/phantomgo/phantomgojs 文件夹。
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())
}

关于javascript - 是否可以在Golang中获取需要JS的网页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44000154/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com