項目簡析
立項后,分析一下簡單淘客軟件的流程:
1.獲取商品信息,包括優惠券
2.進行篩選,確定要群發的商品列表
3.啟動發送流程,對微信和QQ窗口進行發送
4.根據設定的關鍵字來進行找券的工作
說起來,寫一個個人自用淘客軟件就是這么簡單,我最初也是這么干的。
我獲取商品的方式有二種,一是調用大淘客的API,二是直接從頁面抓取
1.API方式簡單易行,返回一大堆JSON,程序中建立全局LIST對象,保存就可以了,這個方式有一個缺點就是獲取到的商品不一定適合你的群用戶。
2.從頁面抓取,我最初想到的是用IdHttp的GET方法,不過當我GET大淘客的搜索頁面的時候,發現大淘客非常狡猾,當你搜索的時候,他只是簡單的返回一個Javascript語句,window.location.;, 對于這種防抓取的流氓行為,我感到非常生氣,這樣寫我就沒辦法治你了么?你不就是要在request上加個Referer參數么。但這個時候,我又想到,如果我要獲取各類目,要排序,要篩選的話,還是直接框住他的網站比較好,于是我放棄GET抓取,直接程序內加入webbrowser控件,操控你整個網站,也是從那天起,我覺得不能受制于這些垃圾淘客站,一定要有自己的數據庫。到今天,我還覺得大淘客的程序員真特么的狗屎。
用控件的好處很顯然多了很多,比如我可以利用他的篩選排序分類等所有功能,可以說完全自由化了,整個大淘客上的數據任我采摘,但壞處是,本來只需不到10M內存的程序,現在飆到40M了,就是因為要加載這個網站。
數據有了來路,現在只需嫁接到我的微信機器人上面定時發送就可以了,但這時候還存在一個問題,就是我沒有QQ協議,并不能像微信一樣掃碼登錄后想發什么就發什么,全后臺。
時間很緊,我沒那么多時間去研究QQ協議了,于是采用了一個很原始的方法,就是QQ窗口復制粘貼發送。好處就是開發起來只要幾分鐘就能搞定,壞處就是如果我要把軟件上傳到VPS上運行,那還得安裝一個QQ,會增加VPS成本,但現在不是考慮這個的時候,必須快速弄起來,只能采取窗口切換發送的方式了。
接著,我又弄找券功能,所謂找券,就是用戶不一定喜歡你主動推送的,可能他現在想要一個什么商品,希望你定點尋找此商品的券信息。 我之前加的幾個群的機器人很傻B,用戶發送找券需求后,機器人要么說“可以私聊群主手動尋找”,要么就只發送一個找到的商品,連圖帶文往群里回復。
私聊群主這個回復,很顯然,是程序開發者功力太差,要手工找券,但你找券只找一個,也不靠譜,用戶需要的是多個信息來選擇,你讓他沒選擇,倒不如不找這個券。
我思考了一會,要返回大量找券結果,如果有20個,那這20個圖文如果全部往群里回,用戶體驗相當糟糕,我決定返回一個網址,這個網址上面就是所有找券結果的列表展示。用戶可以直接點擊網址,在網址上面慢慢選擇,進行購買。
這個流程是這樣的:
1.從大淘客上抓取搜索關鍵字的商品列表數據
2.處理這些數據,生成json
3.將json數據POST到我的服務器上,動態生成一個網頁。
4.將網頁地址回復給客戶。
經過實際運行發現,如果找10個商品,在10秒內能夠返回給客戶,20個就是20秒,基本可以接受,但還是有點慢,主要時間都花在控件開網頁,處理數據上了。試想,如果你有自己的數據庫和網站,你可以秒回一個類似 s?k=關鍵字的網頁地址出去,用戶點擊進去,同樣也是搜索列表頁。但目前我剛起步,暫時還要依賴大淘客,慢就慢點,無所謂。
前面說過,微信是協議登錄,收發信息全后臺,但QQ不同了,我只能往QQ里面發,不能知道別人在群里說了什么話,怎么找券呢?
我想到,之前聽過酷Q機器人軟件,平時用QQ的時候,也少不了受酷Q機器人使用者的騷擾,于是我去酷Q機器人網站去研究下載。
在這個網站,我驚奇地發現一件事情,此軟件似乎是用易語言寫的,又或者說是給易語言玩家用的。