yjsx86 大佬有话说 :
测试golang生成的一个简单爬虫exe
本帖最后由 yjsx86 于 2020-4-2 22:26 编辑
我这里本地环境生成的exe 不知道你们能不能打开
抓取https://www.google.com/doodles/json/2020/3?hl=zh_CN的json然后展示
使用你们的本地代理127.0.0.1:1080, 就是说你们要开着ss或者ssr 端口要是1080的
直接写死 只是测试用
直接生成 5兆多, 用upx压缩后1.75兆
exe文件:https://www.lanzous.com/iaxmira
这是文件扫描:https://r.virscan.org/language/zh-cn/report/f002ed93d0f1ff2eb9f2fd92879de25b
代码在下面
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
"net/url"
)
type Some struct {
Url string
Title string
Dates []int `json:"run_date_array"`
}
var client = NewHttpClient("http://127.0.0.1:1080")
func main() {
var wait string
GetData(2020, 3)
fmt.Printf("nnnPress any key exit.n")
fmt.Scanln(&wait)
}
func GetData(year, month int){
url := fmt.Sprintf("https://www.google.com/doodles/json/%d/%d?hl=zh_CN", year, month)
fmt.Println("正在抓取: ", url)
resp, err := client.Get(url)
if err != nil {
log.Fatalln(err)
}
defer resp.Body.Close()
var data []Some
all, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatalln(err)
}
json.Unmarshal(all, &data)
for _, d := range data {
fmt.Printf("%#vn", d)
}
}
func NewHttpClient(proxyAddr string) *http.Client {
var proxy = func(_ *http.Request) (*url.URL, error) {
return url.Parse(proxyAddr)
}
netTransport := &http.Transport{
Proxy: proxy,
}
return &http.Client{
Transport: netTransport,
}
}
h20 大佬有话说 :
源码发GitHub×
帮你们编译好了√
yjsx86 大佬有话说 :
h20 大佬有话说 : 2020-4-2 22:25
源码发GitHub×
帮你们编译好了√
主要是想测试下golang打包的exe
之前python打包exe 不使用第三方库 打包也得10m 起步