小米套路營銷這波格局確實小了,你好呀,我是歪歪。本文轉載自博客園,原標題:小了,小米這波格局確實小了,正如標題說的,我覺得小米這波的格局顯得有點小了。
事情是這樣的8 月10 日晚上雷總不是發布會嗎,就小米十週年那個。
小米套路營銷
我全程看完了,後來雷總給我整感動了,剛好那段時間在物色一個平板,想要提升一下生產力,所以我當即就在小米有品的APP 上預定了一款:
隔了段時間,我上去看,發現有一個曬單贈保護殼和鋼化膜的活動。
點擊詳情一看,活動規則是這樣的:
所以我收到平板之後,當天晚上里面就給它刷了一個五星好評。
說真的,評論中的“驚艷”、“音效”都是我拆箱體驗後的真實感受,直到現在我都被它的八揚聲器折服。
但是如果它沒有這個活動,我肯定也懶得去評論這一波。
我評論的時候特意看了一下,評論總數確實沒有超過1000,可惜當時忘記截圖了。
反正當時心裡覺得這波肯定是穩得一筆。
就坐等收貨就完事了。
啪的一下,很快啊,一個月過去了,時間就來到了9 月18 號。
我突然又想起了這事,然後登陸APP 去看了一下中獎名單。
這個時候,有意思的事情就出現了。
首先,它公佈的名單居然是一個長圖,圖片裡面只包含序號、訂單號、用戶ID 這三個信息:
圖片意味著什麼你知道吧?
意味著我不能搜索我的訂單號或者用戶ID。
於是我就一個個的看。
看了大概兩分鐘我就覺得這事不對,不知道是出於什麼目的給了圖片,完美屏蔽了搜索功能,反正這樣的用戶體驗讓我感到噁心。
當時我就幡然醒悟:我為什麼要傻乎乎的自己看呢?1000 個訂單號啊,我得看到什麼時候去?
在那個時刻,我的內心想法還是:這裡面一定有我,只是我懶得找而已。
所以,我決定向客服求助,於是發生了這樣的對話:
但是在這裡我必須要說一句,當時對接我的那個客服態度是真的很好,很不錯,讓我感覺很舒服。
但是這用戶體驗是真的很神奇,為了讓你有個直觀的感受我把圖片也放在這裡一下:
怎麼樣,想在這裡面找到指定的訂單號,是不是稍顯困難了一點?
而且,這才150 個訂單…
假設,我真的從1000 個里面去找自己,可能要把自己眼睛看瞎吧。而且看完一次後發現:咦,怎麼沒有我?我看漏了?再來一次。
於是眼睛得更加仔細的又瞎一次。
總之,最後讓客服幫我看了,最後的結論就是沒有我。
我當時心想沒有就算了吧,這玩意又不公開透明的,我也沒法啊。
但是隔了幾天后,我偶然間看小米社區裡面再說這個事。
於是我又打開有品APP 的評論頁,隨手翻了幾條評論,發現下面說這個事情的還挺多,我隨便截取幾個:
原來不是我一個人有這樣的困惑呀,那就有點意思了。
我決定玩一玩。
圖片識別
首先,我要明確的是那1000 個訂單號的圖片裡面確實沒有我,因為我確實沒有一個個的去看。
所以,我要再次確認一下。
當然了,我肯定不可能一個個的去找。
所以,我想起了圖片識別技術。
於是我再某瀏覽器按照關鍵字搜索,一看到前兩個就是熟悉的味道:
自己給自己打廣告,沒毛病。
點進去一看,好傢伙,免費使用。
正合我意,那就用起來吧。
之前也沒接觸過這個領域,讓我徒手擼代碼肯定是不現實的。
但是按照我多年作為程序員的直覺肯定是有SDK 包,然後把裡面的參數改改就能跑起來,Demo 嘛,能出結果就行了,沒有這麼多講究。
所以我第一件事就是找官方文檔,文檔裡面肯定有SDK 包的下載地址。
https://cloud.baidu.com/doc/OCR/s/Ek3h7xypm
果不其然,一眼就被我發現了:
很快我就把代碼拉下來了,在idea 裡面配置好了。
然後按照文檔上的提示把這個方法粘到項目裡面去:
接下來有兩個問題。
第一個是按照代碼提示,我需要APP_ID、API_KEY、SECRET_KEY。
這個問題很好解決,去創建一個應用,非常簡單的點幾個下一步,就可以拿到對應的這些參數了:
我這有一個配置,你要想玩的話可以直接拿去用,但是免費版,有調用次數限制
public static final String APP_ID = "24883148"; public static final String API_KEY = "VVBoWjFADAOPTONBRif5DG6G"; public static final String SECRET_KEY = "u7w61bHlaDpKRbWaXM8GzxDrifLKwVXS";
第二個問題是我需要找到調用的接口,這個也是在官方文檔上面一下就找到了:
它這裡有很多的場景,我現在需要的場景就是數字識別。
在SDK 裡面也可以找到:
現在都齊活了,我只需要把main 方法跑起來應該就能看到結果了。
可是當我跑起來之後…
圖片太大了。
於是,我先截了個小的圖片,先試驗一下功能是不是正常。
再次跑起來,發現沒毛病了,識別出來了:
現在只剩下最後一個問題,圖片太大了,怎麼解決呢?
很簡單,圖片拆分嘛,把一個圖片拆分成多張,我在網上找到的下面這串代碼就能幹這事:
public class ReadPicNum1 { private static final String IMAGE_FILE_PATH = "D:\Pic\1.jpg"; //横向分隔个数 private static final int SEP_X_NUM = 1; //纵向分隔个数 private static final int SEP_Y_NUM = 3; public static void main(String[] args) throws Exception { cutPic(); } public static String cutPic() throws Exception { File file = new File(IMAGE_FILE_PATH); if (!file.exists() || !file.isFile()) { throw new RuntimeException("file not exists or un-file:" + IMAGE_FILE_PATH); } BufferedImage image = ImageIO.read(file); int totalWidth = image.getWidth(); int totalHeight = image.getHeight(); int width = totalWidth / SEP_X_NUM; int height = totalHeight / SEP_Y_NUM; File dirFile = new File(file.getParent(), file.getName().substring(0, file.getName().lastIndexOf("."))); if (!dirFile.exists()) { dirFile.mkdir(); } for (int y = 0, j = 1; y <= totalHeight - height; y += height, j++) { for (int x = 0, i = 1; x <= totalWidth - width; x += width, i++) { File targetFile = new File(dirFile, j + "_" + i + ".jpg"); BufferedImage targetImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = targetImage.getGraphics(); g.drawImage(image.getSubimage(x, y, width, height), 0, 0, null); ImageIO.write(targetImage, "JPG", targetFile); } } return dirFile.getPath(); } }
最終呈現出來的效果是這樣的:
現在程序就位,可以大刀闊斧的開始乾了。
我只需要把中獎名單的那個長圖的鏈接找到,然後通過鏈接把圖片下載到本地,再用上面的程序把圖片分割成100 張,最後一張張的識別出來,把結果直接輸出到控制台,不就能知道有沒有我的訂單號了嗎?
我可真是個天才。
但是,當我再次打開頁面,想要實施我的計劃的時候,好傢伙,中獎名單沒有了!
我尋思這也沒公佈幾天呀,怎麼就沒了呢
於是我再次看了活動規則,只說了公佈開始時間,沒說啥時候撤銷公佈:
看來此路是行不通了,而且我預計就算是我識別出來了,裡面肯定也是沒有我的,我只是不到黃河不死心而已。
雖然在活動規則裡面沒有看到名單公佈的截止時間,但是我看到了另外一個東西,讓我眼前一亮,故事也隨之峰迴路轉:
如果我沒有猜測的話,它這句話的意思就是:按照評論的系統時間排序,取前1000 個有效評論,即為中獎名單。
等等,評論?
評論我還是可以看到的呀,就在商品詳情頁面:
在這裡我可以看到所有的評論和所有的評論時間。
那麼…
我是不是不經意間把評論全部扒下來,然後一不小心把數據都放到數據庫裡面去,接著莫名其妙的按照評論時間排個序,最後非常偶然的瞟一眼自己的名字,不就可以知道自己是不是在按照時間排序的評論的前1000 之內了嗎?
說乾就乾,乾之前我查了,這事合法的,放心。
扒評論
果然,在不經意間我就發現了這樣的一個地方:
好巧啊,這不就是我的評論嗎?
而且經過分析,我發現它返回的ctime 字段就是評論時間,只是它按照時間戳的方式返回的,我在後面加上三個0,就是我的真實評論時間:
接下里的事情就簡單了,我只需要寫一段代碼,寫代碼的時候一不小心把這些評論數據都放到數據庫裡面去:
3751條評論,一不小心就都在這裡面來了。
查一下自己,看看有沒有重名的:
查出來之後,我發現我的準確評論時間是2021-08-18 22:40:28。
然後,我又莫名其妙的寫了這樣一條SQL,反正我也不懂啥意思:
如果我的數學老師沒有騙我,那麼我可以大膽的推測959 應該是小於1000 的。
也就是說,我應該是中獎了呀?為什麼名單上沒有我呢?
當然了,也有可能還有一部分評論在後台審核中,還沒放出來,這玩意誰知道呢?
只是我覺得這活動都結束了,審核還沒結束,會不會有點牽強呀?
咱也不敢問,咱也不敢說呀。
既然評論數據都有了,我就順便看看那個版本的小米平板賣的最好吧:
果然是6+128G 的黑色,2499 元的價格,還要啥自行車。性價比拉滿了好嘛。
雖然我買的是6+256G 的,但是首發價2699 元,加200 多128G 內存,我覺得這波不虧。
最後,評論都有了,來都來了,那就順手做個詞云吧。
這是基於所有評論做的詞云,一片叫好:
這是過濾出來評論中和1000 名活動相關的評論做出來的詞云,略有不佳:
反正我感覺吧,這活動,你直接說抽獎不就完了嗎?
哦,抽獎的話我可能就不會去參與了。
當然了,這只是我個人的一些吐槽,小米在我心中就是一家非常偉大的公司,向雷布斯致敬。
但是一碼歸一碼,在小米有品上搞的這個活動,沒搞好,不透明,格局小了。
再說說圖片識別
其實我在做圖片識別的時候發現還有其他很多好玩的東西:
比如圖像特效我就玩了一下,如果你也想玩一下的話,需要更換一下參數。
其他的按照官方文檔自己玩就行了:
public static final String APP_ID = "24886324";public static final String API_KEY = "hxSlOK6C5BTjHyXxkQuNuL7V";public static final String SECRET_KEY = "skST5eXm861Cw4az5vPZbevNlcOmaKYZ";
這是黑白照片上色後的效果,反正我是覺得有點詭異:
但是我試了一下家裡的多年前爺爺奶奶輩的黑白照片,效果還稍微可以一點。
然後試了試人物動漫化的接口,我實在忍不住想笑:
最後,其實前面出現的圖片拆分的代碼,還有另外一個功能,比如你把它修改為3*3 的模式:
那麼最終出來的效果就是這樣的:
你明白我的意思吧?
就可以在朋友圈裝逼了,雖然我覺得沒有任何卵用:
本文已收錄自個人博客,歡迎大家來玩。
原文地址:https://www.cnblogs.com/thisiswhy/p/15337601.html