random.go 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. package pkg
  2. import (
  3. browser "github.com/EDDYCJY/fake-useragent"
  4. "math/rand"
  5. "time"
  6. )
  7. func RandomSecondDuration(min, max int32) time.Duration {
  8. tmp := random.Int31n(max - min) + min
  9. return time.Duration(tmp) * time.Second
  10. }
  11. func RandomUserAgent(UserOrSearchEngine bool) string {
  12. if UserOrSearchEngine == true {
  13. return browser.Random()
  14. } else {
  15. // From https://www.cnblogs.com/gengyufei/p/12641200.html
  16. return engineUAList[random.Intn(len(engineUAList))]
  17. }
  18. }
  19. var(
  20. random = rand.New(rand.NewSource(time.Now().UnixNano()))
  21. engineUAList = []string{
  22. // 百度搜索User-Agent:
  23. // 百度 PC UA
  24. "Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",
  25. "Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)",
  26. // 百度移动 UA
  27. "Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko) Version/5.1",
  28. "Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)",
  29. "Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)",
  30. // 百度图片UA
  31. //"Baiduspider-image+(+http://www.baidu.com/search/spider.htm)",
  32. // 神马搜索User-Agent:
  33. // B神马搜索 PC UA
  34. "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.81 YisouSpider/5.0 Safari/537.36",
  35. // 神马搜索移动 UA
  36. "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3 like Mac OS X) AppleWebKit/602.1.50 (KHTML, like Gecko) CriOS/56.0.2924.75 Mobile/14E5239e YisouSpider/5.0 Safari/602.1",
  37. // 谷歌User-Agent:
  38. // 谷歌 PC UA
  39. "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",
  40. // 谷歌移动UA
  41. "AdsBot-Google-Mobile (+http://www.google.com/mobile/adsbot.html) Mozilla (iPhone; U; CPU iPhone OS 3 0 like Mac OS X) AppleWebKit (KHTML, like Gecko) Mobile Safari",
  42. // 谷歌图片UA
  43. "Mozilla/5.0 (compatible; Googlebot-Image/1.0; +http://www.google.com/bot.html)",
  44. // 搜狗User-Agent:
  45. // 搜索 PC UA
  46. "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  47. // 搜狗图片 UA
  48. "Sogou Pic Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  49. // 搜狗新闻UA
  50. "Sogou News Spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  51. // 搜狗视频UA
  52. "Sogou Video Spider/3.0(+http://www.sogou.com/docs/help/webmasters.htm#07)",
  53. // 360搜索User-Agent:
  54. // 360搜索UA
  55. "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0);",
  56. // 360移动UA
  57. "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko)Version/4.0 Mobile Safari/534.30; 360Spider",
  58. "Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30; HaosouSpider",
  59. // 360安全UA
  60. "360spider (http://webscan.360.cn)",
  61. // 必应User-Agent:
  62. "Mozilla/5.0 (compatible; bingbot/2.0; +http://www.bing.com/bingbot.htm)",
  63. // 搜搜User-Agent:
  64. // 搜搜UA:
  65. "Sosospider+(+http://help.soso.com/webspider.htm)",
  66. // 搜搜图片UA:
  67. "Sosoimagespider+(+http://help.soso.com/soso-image-spider.htm)",
  68. // 雅虎User-Agent:
  69. // 雅虎中文UA:
  70. "Mozilla/5.0 (compatible; Yahoo! Slurp China; http://misc.yahoo.com.cn/help.html)",
  71. // 雅虎英文UA:
  72. "Mozilla/5.0 (compatible; Yahoo! Slurp; http://help.yahoo.com/help/us/ysearch/slurp)",
  73. }
  74. )