1 Star 0 Fork 0

zhangxin / colly

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
random_user_agent.go 1.20 KB
一键复制 编辑 原始数据 按行查看 历史
package extensions
import (
"fmt"
"math/rand"
"github.com/gocolly/colly"
)
var uaGens = []func() string{
genFirefoxUA,
genChromeUA,
}
// RandomUserAgent generates a random browser user agent on every request
func RandomUserAgent(c *colly.Collector) {
c.OnRequest(func(r *colly.Request) {
r.Headers.Set("User-Agent", uaGens[rand.Intn(len(uaGens))]())
})
}
var ffVersions = []float32{
58.0,
57.0,
56.0,
52.0,
48.0,
40.0,
35.0,
}
var chromeVersions = []string{
"65.0.3325.146",
"64.0.3282.0",
"41.0.2228.0",
"40.0.2214.93",
"37.0.2062.124",
}
var osStrings = []string{
"Macintosh; Intel Mac OS X 10_10",
"Windows NT 10.0",
"Windows NT 5.1",
"Windows NT 6.1; WOW64",
"Windows NT 6.1; Win64; x64",
"X11; Linux x86_64",
}
func genFirefoxUA() string {
version := ffVersions[rand.Intn(len(ffVersions))]
os := osStrings[rand.Intn(len(osStrings))]
return fmt.Sprintf("Mozilla/5.0 (%s; rv:%.1f) Gecko/20100101 Firefox/%.1f", os, version, version)
}
func genChromeUA() string {
version := chromeVersions[rand.Intn(len(chromeVersions))]
os := osStrings[rand.Intn(len(osStrings))]
return fmt.Sprintf("Mozilla/5.0 (%s) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%s Safari/537.36", os, version)
}
1
https://gitee.com/zhangxinzx/colly.git
git@gitee.com:zhangxinzx/colly.git
zhangxinzx
colly
colly
v1.2.0

搜索帮助

53164aa7 5694891 3bd8fe86 5694891