diff --git a/ua.go b/ua.go index a292f9c..842e353 100644 --- a/ua.go +++ b/ua.go @@ -147,6 +147,13 @@ func Parse(userAgent string) UserAgent { } ua.Bot = true + case tokens.existsAny("Bytespider", "Bytespider"): + if name := tokens.findBestMatch(false); name != "" { + ua.Name = name + ua.OS = "" + } + ua.Bot = true + case tokens.exists("Applebot"): ua.Name = Applebot ua.Version = tokens.get(Applebot) diff --git a/ua_test.go b/ua_test.go index fd88446..085c823 100644 --- a/ua_test.go +++ b/ua_test.go @@ -90,6 +90,8 @@ var testTable = [][]string{ {"Mozilla/5.0 (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html) cnv.aws-prod---sieve.hlfs-rest_client/1681346790-0", "Yahoo Ad monitoring", "", "bot", ""}, {"GoogleProber", "GoogleProber", "", "bot", ""}, {"GoogleProducer; (+http://goo.gl/7y4SX)", "GoogleProducer", "", "bot", ""}, + {"Mozilla/5.0 (compatible; Bytespider; spider-feedback@bytedance.com) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.0.0 Safari/537.36", "Bytespider", "", "bot", ""}, + {"Mozilla/5.0 (Linux; Android 5.0) AppleWebKit/537.36 (KHTML, like Gecko) Mobile Safari/537.36 (compatible; Bytespider; spider-feedback@bytedance.com)", "Bytespider", "", "bot", ""}, // Google ads bots {"Mozilla/5.0 (Linux; Android 4.0.0; Galaxy Nexus Build/IMM76B) AppleWebKit/537.36 (KHTML, like Gecko; Mediapartners-Google) Chrome/104.0.0.0 Mobile Safari/537.36", ua.GoogleAdsBot, "", "bot", ua.Android},