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