首页
友链
关于
留言
Search
1
MacOs Apple M1/M2 Arm64 Docker 安装宝塔面板
696 阅读
2
Golang发起Http请求,带Header,gzip压缩
525 阅读
3
Golang爬取异步加载渲染的Html内容
503 阅读
4
Go GUI golang基于go-astilectron打包Win,MacOs,Linux 可执行程序
486 阅读
5
Golang实现端口转发,搭隧道
477 阅读
生活小趣
大佬文章
菜鸟笔记
Golang
PHP
微服务
登录
Search
标签搜索
Golang
PHP
Go
RPC
Mysql
工作
Sqlite
微服务
ETCD
GRPC
MacOs
Mac
远🐱航
累计撰写
39
篇文章
累计收到
3
条评论
首页
栏目
生活小趣
大佬文章
菜鸟笔记
Golang
PHP
微服务
页面
友链
关于
留言
搜索到
18
篇与
的结果
2022-05-06
Golang爬取网站视频,音乐等m3u8格式媒体文件
Golang爬取网站视频,音乐等m3u8格式媒体文件
2022年05月06日
133 阅读
0 评论
4 点赞
2022-05-06
Golang发起Http请求,带Header,gzip压缩
Golang发起Http请求,带Header头,json格式,表单格式请求,gzip压缩
2022年05月06日
525 阅读
0 评论
1 点赞
2022-04-27
Golang下载文件
Golang下载文件
2022年04月27日
72 阅读
0 评论
1 点赞
2022-04-27
Golang爬取异步加载渲染的Html内容
爬取ajax加载或者vue的网页内容
2022年04月27日
503 阅读
0 评论
1 点赞
2022-04-26
在Golang中运行JavaScript(爬虫必备技术)
使用场景,爬取网站内容调用js代码进行解密用go重新写一套别人的自定义解密多累啊万物的起源main方法package main import ( "github.com/dop251/goja" ) func main() { }先定义两个用于获取js代码返回值的方法// MyObject 定义一个js内部可调用的对象 func MyObject(call goja.ConstructorCall) *goja.Object { // 设置一个改对象的方法 err := call.This.Set("get_data", getDataFunc) if err != nil { return nil } return nil } // getDataFunc js内部对象get_data方法实现执行的逻辑,用于获取js方法返回值 func getDataFunc(name, age string) string { return "我叫:" + name + "\r\n年龄:" + age }开始执行JavaScript方法package main import ( "github.com/dop251/goja" ) func main() { vm := goja.New() vm.Set("MyObject", MyObject) // 把方法以对象的形式映射到js中 v, err := vm.RunString( // 运行的js代码 并获取返回值 ` function myMsg() { return ['Golang','10'] } var msg = myMsg(); // 调用go映射进来的方法获取js返回值 var o = new MyObject(); o.get_data(msg[0],msg[1]); `) //默认输出最后一个 if err != nil { panic(err) } // 打印返回值 println(v.Export().(string)) }控制台输出结果我叫:Golang 年龄:10完整代码package main import ( "github.com/dop251/goja" ) func main() { vm := goja.New() vm.Set("MyObject", MyObject) // 把方法以对象的形式映射到js中 v, err := vm.RunString( // 运行的js代码 并获取返回值 ` function myMsg() { return ['Golang','10'] } var msg = myMsg(); // 调用go映射进来的方法获取js返回值 var o = new MyObject(); o.get_data(msg[0],msg[1]); `) //默认输出最后一个 if err != nil { panic(err) } // 打印返回值 println(v.Export().(string)) } // MyObject 定义一个js内部可调用的对象 func MyObject(call goja.ConstructorCall) *goja.Object { // 设置一个改对象的方法 err := call.This.Set("get_data", getDataFunc) if err != nil { return nil } return nil } // getDataFunc js内部对象get_data方法实现执行的逻辑,用于获取js方法返回值 func getDataFunc(name, age string) string { return "我叫:" + name + "\r\n年龄:" + age }
2022年04月26日
400 阅读
0 评论
1 点赞
1
2
3
4
首页
复制
搜索
前进
后退
重载网页
和我当邻居
给我留言吧