Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 13448|Atsakyti: 5

Kaip moksliškai patraukti raudonus vokus: metų pabaigoje galite praturtėti ir parašyti programą, kaip patraukti raudonus vokus

[Kopijuoti nuorodą]
Paskelbta 2015-02-13 22:44:10 | | | |
0×00 Pagrindiniai faktai

Kokie yra raudoni vokai? Jo brolio sūnus Hueris sakė: "Pinigai yra beveik palyginami. Brolis ir dukra Dao Yun pasakė: "Tai nėra taip gerai, kaip mano teta dėl vėjo". "Visi supranta foną, tai Naujieji metai ir diena, kai raudoni vokai skraido visame danguje. Taip atsitiko, kad prieš dvi dienas išmokau Python ir buvau labiau susijaudinęs, todėl studijavau ir tyrinėjau "Weibo" raudonų vokų nuskaitymą, kodėl "Weibo" raudoni vokai vietoj "Alipay" raudonų vokų, nes aš suprantu tik žiniatinklį, o jei turėsiu energijos, ateityje taip pat galiu studijuoti "whack-a-mole" algoritmą.
Kadangi aš esu pradedantysis Python, ši programa taip pat yra trečioji programa, kurią parašiau po mokymosi Python, todėl prašome ne kišti asmeniškai, jei yra kokia duobė kodas, dėmesys yra idėja, gerai, jei yra kokia nors duobė idėja, prašome ne kišti jį asmeniškai, matote IE turi veidą nustatyti save kaip numatytąją naršyklę, aš rašau šlamšto straipsnis taip pat priimtinas......
Aš naudoju Python 2.7 ir sakoma, kad yra didelis skirtumas tarp Python 2 ir Python 3.
0×01 Idėjos
Buvau per daug tingus apibūdinti žodžiais, todėl nupiešiau eskizą, ir visi turėtų sugebėti jį suprasti.
Visų pirma, senoji taisyklė, pirmiausia pristatykite biblioteką, kuri, jūsų manymu, yra naudinga, bet be kurios neapsieisite:
[mw_shl_code=java,true]import re import urllib import urllib2 import cookielib import base64 import binascii import os import json import sys import cPickle as p import rsa[/mw_shl_code] Tada deklaruokite keletą kitų kintamųjų, kuriuos turėsite naudoti vėliau:

[mw_shl_code=java,true]reload(sys)sys.setdefaultencoding('utf-8&') #将字符编码置为utf-8luckyList=[] #红包列表lowest=10 #能忍受红包领奖记录最低为多少[/mw_shl_code]Čia naudojama RSA biblioteka, kuri pagal numatytuosius nustatymus nėra įtraukta į Python. Reikia jį įdiegti :https://pypi.python.org/pypi/rsa/

Atsisiuntę paleiskite setpy.py įdiekite ir galėsime pradėti kūrimo veiksmus.
0×02 Weibo prisijungimas
Raudonų vokų griebimo veiksmas turi būti atliekamas prisijungus, todėl turi būti prisijungimo funkcija, prisijungimas nėra raktas, raktas yra slapukų išsaugojimas, čia reikalingas slapukų bendradarbiavimas.
[mw_shl_code=java,true]cj = cookielib. CookieJar()opener = urllib2.build_opener(urllib2. HTTPCookieProcessor(cj))urllib2.install_opener(opener)[/mw_shl_code] Tokiu būdu visos tinklo operacijos, naudojančios atidarytuvą, tvarkys slapukų būseną, nors apie tai daug nežinau, bet tai jaučiasi nuostabiai.
Tada turime sukapsuliuoti du modulius: vienas yra duomenų gavimo modulis, kuris naudojamas tiesiog duomenims gauti, o kitas naudojamas duomenims POST.
[mw_shl_code=java,true]def getData(url) : try: req = urllib2. Request(url) result = opener.open(req) text = result.read() text=text.decode("utf-8").encode("gbk",'ignore') grąžinti tekstą, išskyrus Exception, e:                print u' request exception, url: '+url print e def postData(url,data,header) : try: data = urllib.urlencode(data) req = urllib2. Request(url,data,header) result = opener.open(req) text = result.read() grąžinti tekstą, išskyrus Exception, e: print u'Request exception, url: '+url[/mw_shl_code] Su šiais dviem moduliais galime GAUTI ir POST duomenis, tarp kurių priežastis, kodėl getData dekoduoja ir tada koduoja, yra ta, kad pagal Win7 derindamas visada iškraipydavau išvestį, todėl pridėjau šiek tiek kodavimo apdorojimo, tai nėra esmė, žemiau esanti prisijungimo funkcija yra "Weibo" prisijungimo pagrindas.
[mw_shl_code=java,true]def login(nick, pwd): print u"----------login----------" print "----------......----------" prelogin_url= 'http://login.sina.com.cn/sso/prelogin.php?entry=weibo&callback=sinaSSOController.preloginCallBack&su=%s&rsakt=mod&checkpin=1&client=ssologin.js(v1.4.15)&_= 1400822309846' % nick preLogin = getData(prelogin_url) servertime = re.findall('"servertime":(.+?),' , preLogin)[0] pubkey = re.findall('"pubkey":"(.+?)",' , preLogin)[0] rsakv = re.findall('"rsakv":"(.+?)",' , preLogin)[0] nonce = re.findall('"nonce":"(.+?)",' , preLogin)[0] #print bytearray('xxxx','utf-8') su = base64.b64encode(urllib.quote(nick))        rsaPublickey = int(pubkey,16) raktas = rsa. PublicKey(rsaPublickey,65537) message = str(servertime) +'\t' + str(nonce) + '\n' + str(pwd) sp = binascii.b2a_hex(rsa.encrypt(message,key)) header = {'User-Agent' : 'Mozilla/5.0 (suderinamas; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)'} param = { 'entry': 'weibo', 'gateway': '1', 'from': '', 'savestate': '7', 'userticket': '1',                'ssosimplelogin': '1', 'vsnf': '1', 'vsnval': '', 'su': su, 'service': 'miniblog', 'servertime': servertime, 'nonce': nonce, 'pwencode': 'rsa2', 'sp': sp, 'encoding': 'UTF-8', 'url': 'http://weibo.com/ajaxlogin.php?framelogin=1&callback=parent.sinaSSOController.feedBackUrlCallBack', 'returntype': 'META', 'rsakv' : rsakv, } s = postData('http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.4.15)',param,header) try: urll = re.findall("locatio remove n.replace\(\'(.+?) \'\); " , s)[0] login=getData(urll) print u"--------- Prisijungimas sėkmingas! ------- "spausdinti" ----------......---------- "išskyrus išimtį, e: spausdinti u" --------- prisijungti nepavyko! -------" print "----------......----------" exit(0)[/mw_shl_code]Parametrai ir šifravimo algoritmai yra nukopijuoti iš interneto, aš nelabai suprantu, tikriausiai pirmiausia reikia paprašyti laiko žymos ir viešojo rakto, tada rsa šifravimo ir galiausiai apdoroti apdorojimą ir pateikti jį į Sina prisijungimo sąsają, sėkmingai prisijungus iš Sina, jis grąžins Weibo adresą, turite jo paprašyti, kad prisijungimo būsena galėtų visiškai įsigalioti, Sėkmingai prisijungus, vėlesnėse užklausose bus pateiktas dabartinio vartotojo slapukas.
0×03 Pažymėtas raudono voko piešinys
Sėkmingai prisijungęs prie "Weibo", nekantrauju rasti raudoną voką, kad pirmiausia išbandyčiau, žinoma, pirmiausia naršyklėje. Galiausiai radau puslapį su raudonu voko mygtuku, F12 iškvietė derintuvą, kad pamatytų, ko prašo duomenų paketas.

Matote, kad užklausos adresas yra http://huodong.weibo.com/aj_hongbao/getlucky, yra du pagrindiniai parametrai, vienas yra ouid, tai yra raudonas voko ID, kurį galima pamatyti URL, kitas bendrinimo parametras nustato, ar juo dalytis su Weibo, ir yra _t nežinau, kam jis skirtas.
Gerai, dabar teoriškai galite užbaigti raudonų vokų ištraukimą pateikdami tris parametrus į šį URL, tačiau kai iš tikrųjų pateiksite parametrus, pamatysite, kad serveris stebuklingai grąžins jums tokią eilutę:
[mw_shl_code=java,true] {"code":303403,"msg":"Atsiprašome, jūs neturite leidimo prieiti prie šio puslapio","data":[]}[/mw_shl_code] Šiuo metu nepanikuokite, pagal mano ilgametę žiniatinklio kūrimo patirtį, kitos šalies programuotojas turėtų spręsti apie nuorodą, labai paprasta, nukopijuokite visas ankstesnės užklausos antraštes.
[mw_shl_code=java,true]def getLucky(id): #抽奖程序 print u"--- nupiešti raudoną voką iš:"+str(id)+"---" print "----------......----------" if checkValue(id)==False: #不符合条件, tai funkcija grįžti vėliau        luckyUrl="http://huodong.weibo.com/aj_hongbao/getlucky" param={ 'ouid':id, 'share':0, '_t':0 } header= {                'Cache-Control':'no-cache', 'Content-Type':'application/x-www-form-urlencoded', 'Origin':'http://huodong.weibo.com', 'Pragma':'no-cache', 'Referer': 'http://huodong.weibo.com/hongbao/'+str(id), 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, kaip Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36', 'X-Requested-With':'XMLHttpRequest' } res = postData(luckyUrl,param, antraštė)[/mw_shl_code] Šiuo atveju teoriškai problemos nėra, bet iš tikrųjų problemos nėra. Baigę loterijos veiksmą, turime įvertinti būseną, o grąžinta rezoliucija yra json eilutė, kur kodas yra 100000 yra sėkmingas, o jei jis yra 90114, tai yra viršutinė šiandienos loterijos riba, o kitos reikšmės taip pat nepavyksta, taigi:
[mw_shl_code=java,true]hbRes=json.loads(res)if hbRes["code"]=='901114': #今天红包已经抢完 print u"--------- pasiekė viršutinę ribą---------" print "----------......----------" log('lucky', str(id)+'---'+str(hbRes["code"])+'---'+hbRes["data"]["title"]) exit(0)elif hbRes["code"]=='100000':#成功 print u"---------Linkiu jums klestėjimo---------" print "----------......----------"        log('success',str(id)+'---'+res) exit(0) if hbRes["data"] and hbRes["data"]["title"]: print hbRes["data"]["title"] print "----------......----------" log('lucky', str(id)+'---'+str(hbRes["code"])+'---'+hbRes["data"]["title"])else: print u"---------Request error---------" print "----------......----------" log('lucky', str(id)+'---'+res)[/mw_shl_code], kur log taip pat yra funkcija, kurią tinkinu, kuri naudojama žurnalams įrašyti:
[mw_shl_code=java,true]def log(tipas,tekstas): fp = open(tipas+'.txt','a') fp.write(tekstas) fp.write('\r\n') fp.close()[/mw_shl_code]





Ankstesnis:Pastabos dėl PHP įkėlimo maksimalių limitų
Kitą:memcache dll plėtinio atsisiuntimas, skirtas PHP5.2, 5.3, 5.4, 5.5
 Savininkas| Paskelbta 2015-02-13 22:46:37 |
0×04 Aptikti raudonų vokų sąrašą
Po sėkmingo vieno raudono voko rinkimo veiksmo bandymo, tai yra pagrindinis mūsų programos didelis judėjimo modulis - nuskaitant raudoną vokų sąrašą, turėtų būti daug būdų ir įėjimų nuskaityti raudoną vokų sąrašą, pvz., įvairius Weibo paieškos raktažodžius ir pan., bet aš čia naudoju paprasčiausią metodą: raudonų vokų sąrašo nuskaitymą.
Pagrindiniame puslapyje (raudono voko veiklos http://huodong.weibo.com/hongbao, per įvairius taškus daugiau, viską galima pastebėti, nors sąrašas yra labai susijęs, jį galima apibendrinti į dvi kategorijas (išskyrus turtingiausią raudonų vokų sąrašą): tema ir lyderių lentelė.
Tęsdami iškvietimą F12, išanalizuokite abiejų puslapių formatą, pradedant nuo teminių formų sąrašo, tokių kaip: http://huodong.weibo.com/hongbao/special_quyu
Galite pamatyti, kad raudono voko informacija yra div pavadinimu info_wrap, todėl mums tereikia suaktyvinti šio puslapio šaltinio kodą, o tada paimti visus infowraps, o tada tiesiog apdoroti, kad gautume raudoną šio puslapio vokų sąrašą, čia turime naudoti keletą reguliarių:
[mw_shl_code=java,true]def getThemeList(url,p):#主题红包 print u"--------- "+str(p)+"page---------" print "----------......----------" html=getData(url+'?p='+str(p)) pWrap= re.compile(r'<div class="info_wrap">(.+?) <span class="rob_txt"></span>',re. DOTALL) #h Gaukite info_wrap įprastą pInfo=re.compile(r'.+<em class="num">(.+)</em>.+<em class="num">(.+)</em>.+<em class="num">(.+).</em>.+href="(.+)" class="btn"',re. DOTALL) #获取红包信息 List=pWrap.findall(html,re. DOTALL) n=len(List) if n==0: return for i in range(n): #traverse all info_wrap div s=pInfo.match(List) #取得红包信息 info=list(s.groups(0))                info[0]=float(info[0].replace('\xcd\xf2','0000')) #现金,ten->0000 try: info[1]=float(info[1].replace('\xcd\xf2','0000')) #礼品价值 išskyrus Išimtis, e:                        info[1]=float(info[1].replace('\xd2\xda','00000000')) #礼品价值 info[2]=float(info[2].replace('\xcd\xf2','0000')) #已发送 if info[2]==0: info[2]=1 #防止除数为0 if info[1]==0: info[1]=1 #防止除数为0 info.append(info[0]/(info[2]+info[1])) #红包价值, cash/(pretendentų skaičius + prizo vertė) # if info[0]/(info[2]+info[1])>100:                # print url luckyList.append(info) if 'class="page"' html:#存在下一页 p=p+1 getThemeList(url,p) #递归调用自己爬取下一页[/mw_shl_code]Taip sunku pasakyti, kad tai taip sunku, ir užtruko ilgai parašyti šiuos du sakinius. Taip pat yra informacija info čia pridėti [4], kuris yra mano algoritmas apytiksliai įvertinti raudonų vokų vertę, kodėl tai daryti, nes yra daug raudonų vokų, bet mes galime atkreipti tik keturis kartus, didžiulėje maišelių jūroje, mes turime rasti vertingiausius raudonus vokus ir tada juos ištraukti, čia yra trys duomenys nuoroda: piniginė vertė, dovanų vertė ir gavėjų skaičius, akivaizdu, jei pinigai yra maži ir žmonių skaičius gauna daug žmonių arba prizo vertė yra labai didelė (kai kurie yra net crazy vienetų šimtų milijonų), Tada griebtis neverta, todėl ilgai susilaikiau ir pagaliau sugalvojau raudonų vokų svorio matavimo algoritmą: raudono voko vertė = grynieji pinigai / (gavėjų skaičius + prizo vertė).
Lyderių lentelės puslapio principas yra tas pats, raskite pagrindines žymas ir reguliariai jas derinkite.
[mw_shl_code=java,true]def getTopList(url,daily,p):#排行榜红包 print u"--------- "+str(p)+"page---------" print "----------......----------" html=getData(url+'?daily='+str(daily)+'& p='+str(p)) pWrap=re.compile(r'<div class="list_info">(.+?) <span class="list_btn"></span>',re. DOTALL) #h Gaukite list_info įprastą pInfo=re.compile(r'.+<em class="num">(.+)</em>.+<em class="num">(.+)</em>.+<em class="num">(.+).</em>.+href="(.+)" class="btn rob_btn"',re. DOTALL) #获取红包信息 List=pWrap.findall(html,re. DOTALL) n=len(List) if n==0: return for i in range(n): #Iterate through all info_wrap div s=pInfo.match(List) #取得红包信息 topinfo=list(s.groups(0))                info=list(topinfo) info[0]=topinfo[1].replace('\xd4\xaa','') #元->'' info[0]=float(info[0].replace('\xcd\xf2','0000')) #现金,10,>0000 info[1]=topinfo[2]. replace('\xd4\xaa','') #元->'' try: info[1]=float(info[1].replace('\xcd\xf2','0000')) #礼品价值 išskyrus Išimtis, e:                        info[1]=float(info[1].replace('\xd2\xda','00000000')) #礼品价值 info[2]=topinfo[0].replace('\xb8\xf6','') #个->'' info[2]=float(info[2].replace('\xcd\xf2','0000')) #已发送                if info[2]==0: info[2]=1 #防止除数为0 if info[1]==0: info[1]=1 #防止除数为0 info.append(info[0]/(info[2]+info[1])) #红包价值, cash/(gavėjų skaičius + dovanos vertė)                # if info[0]/(info[2]+info[1])>100: # print url luckyList.append(info) if 'class="page"' html:#存在下一页 p=p+1                getTopList(url,daily,p) #递归调用自己爬取下一页[/mw_shl_code]Gerai, dabar galime sėkmingai nuskaityti dviejų specialių puslapių sąrašą, o kitas žingsnis yra gauti sąrašų sąrašą, tai yra visų šių sąrašų adresų rinkinį, ir tada paimti juos po vieną:
[mw_shl_code=java,true]def getList(): print u"---------Find target---------" print "----------......----------" themeUrl={ #主题列表 'theme':'http://huodong.weibo.com/hongbao/theme',                 'pinpai':'http://huodong.weibo.com/hongbao/special_pinpai', 'daka':'http://huodong.weibo.com/hongbao/special_daka', 'youxuan':'http://huodong.weibo. com/hongbao/special_youxuan', 'qiye':'http://huodong.weibo.com/hongbao/special_qiye', 'quyu':'http://huodong.weibo.com/hongbao/special_quyu', 'meiti':'http: huodong.weibo.com/hongbao/special_meiti', 'hezuo':'http://huodong.weibo.com/hongbao/special_hezuo' } topUrl={ #排行榜列表 'mostmoney':'http://huodong.weibo. com/hongbao/top_mostmoney', 'mostsend':'http://huodong.weibo.com/hongbao/top_mostsend', 'mostsenddaka':'http://huodong.weibo.com/hongbao/top_mostsenddaka',                'mostsendpartner':'http://huodong.weibo.com/hongbao/top_mostsendpartner', 'cate':'http://huodong.weibo.com/hongbao/cate?type=', 'clothes':'http://huodong.weibo.com/ hongbao/cate?type=clothes', 'beauty':'http://huodong.weibo.com/hongbao/cate?type=beauty', 'fast':'http://huodong.weibo.com/hongbao/cate?type=fast', 'life':'http: huodong.weibo.com/hongbao/cate?type=life', 'digital':'http://huodong.weibo.com/hongbao/cate?type=digital', 'other':'http://huodong.weibo.com/hongbao/cate?type=other'                } for (theme,url) in themeUrl.items(): print "----------"+theme+"----------" print url print "----------......----------"                getThemeList(url,1) for (top,url) in topUrl.items(): print "----------"+top+"----------" print url print "----------......----------"                getTopList(url,0,1) getTopList(url,1,1)[/mw_shl_code]
 Savininkas| Paskelbta 2015-02-13 22:47:13 |
0×05 Spręskite apie raudonų vokų prieinamumą
Tai gana paprasta, pirmiausia ieškokite raktinių žodžių šaltinio kode, kad pamatytumėte, ar yra raudonas voko griebimo mygtukas, o tada eikite į kolekcijos reitingą, kad pamatytumėte, koks yra aukščiausias įrašas, jei daugiausiai gauna tik kelis dolerius, atsisveikinkite......
Rinkinio įrašo peržiūros adresas yra http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid=Red Voko ID

[mw_shl_code=java,true]def checkValue(id): infoUrl='http://huodong.weibo.com/hongbao/'+str(id) html=getData(infoUrl) if 'action-type="lottery"' html arba True: #存在抢红包按钮                logUrl="http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid="+id #查看排行榜数据 param={} header= { 'Talpyklos valdymas': 'no-cache', 'content-type':'application/x-www-form-urlencoded', 'Pragma':'no-cache', 'Referer':'http://huodong.weibo.com/hongbao/detail? uid='+str(id), 'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, kaip Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36', 'X-Requested-With':'XMLHttpRequest' } res = postData(logUrl,param,header) pMoney=re.compile(r'<span class="money">(\d+?. +?) \xd4\xaa</span>',re. DOTALL) #h Gaukite visus list_info nuolatinius luckyLog=pMoney.findall(html,re. DOTALL) if len(luckyLog)==0: maxMoney=0 else: maxMoney=float(luckyLog[0]) if maxMoney <žemiausias: #记录中最大红包小于设定值 return False kita: print u"--------- ranka sulėtėja---------" print "----------......----------" return false        return True[/mw_shl_code]0×06 Apdailos darbai
Pagrindiniai moduliai jau yra vietoje, o dabar visus veiksmus reikia sujungti nuosekliai:
[mw_shl_code=java,true]def start(username,password,low,fromFile): gl=False lowest=low login(username , password) if fromfile=='y': if os.path.exists('luckyList.txt'):                         try: f = file('luckyList.txt') newList = [] newList = p.load(f)                                print u'--------- load list---------' print "----------......----------", išskyrus Išimtis, e: print u' nepavyko išanalizuoti vietinio sąrašo, aptikdamas internetinį puslapį. ' print "----------......----------" gl=True else: print u' neegzistuoja lokaliai, luckyList.txt nuskaitant internetinius puslapius. ' print "----------......----------" gl=True if gl==True: getList() iš operatoriaus import itemgetter                newList=sorted(luckyList, key=itemgetter(4),reverse=True) f = file('luckyList.txt', 'w') p.dump(newList, f) #把抓到的列表存到文件里, todėl kitą kartą jums nereikės gaudyti f.close() newList: if not 'http://huodong.weibo.com' in lucky[3]: #不是红包 continue print lucky[3] id=re.findall(r'(\w*[0-9]+)\w*',lucky[3])                getLucky(id[0])[/mw_shl_code] Kadangi labai vargina pakartotinai nuskaityti raudonų vokų sąrašą kiekvieną kartą, kai jis yra išbandytas, pridėjau pastraipą, kad visas sąrašas būtų perkeltas į failo kodą, kad ateityje galėtumėte perskaityti vietinį sąrašą ir paimti raudoną voką.
[mw_shl_code=java,true]if __name__ == "__main__": print u"------------------ Weibo Red Envelope Assistant------------------" print "---------------------v0.0.1---------------------" print u"------------- by @***----------------" print "-------------------------------------------------" try: uname=raw_input(u"Įveskite savo Weibo paskyrą: ".decode('utf-8').encode('gbk'))                pwd=raw_input(u"Įveskite savo Weibo slaptažodį: ".decode('utf-8').encode('gbk')) low=int(raw_input(u"Raudonas vokas maksimaliam grynųjų pinigų kiekiui gauti, didesnis nei n: ".decode('utf-8').encode('gbk')))) fromfile=raw_input(u) Ar naudoti raudoną vokų sąrašą luckyList.txt: (y/n) ".decode('utf-8').encode('gbk')) išskyrus Išimtis, e: print u" parametro klaida" print "----------......----------" print e                exit(0) print u"--------- program start---------" print "----------......----------" start(uname,pwd,low,fromfile) print u" --------- program end--------- "print "----------...... ----------" os.system('pause')[/mw_shl_code]
0×07 Pirmyn!

0×07 Santrauka
Pagrindinis vikšrinis skeletas buvo iš esmės baigtas, tiesą sakant, vis dar yra daug vietos šiam skaitytuvui žaisti daugelyje detalių, pavyzdžiui, modifikuojant jį, kad palaikytų paketinį prisijungimą, pavyzdžiui, optimizuojant raudono voko vertės algoritmą, pats kodas taip pat turėtų turėti daug vietų optimizuoti, bet su savo sugebėjimais, aš manau, kad galiu tai gauti.
Galų gale, visi pamatė programos rezultatą, aš parašiau šimtus eilučių kodo, tūkstančius žodžių straipsnių, ir viskas, ką aš sunkiai dirbau, buvo tik dviejų spalvų kamuoliukų rinkinys, Nima duobė tėtis, kaip tai gali būti dviejų spalvų kamuolys! (Pasakotojas: Kuo daugiau autorius kalbėjo, tuo labiau jis jaudinosi, ir jis iš tikrųjų verkė, o aplinkiniai įtikino: broli, tai ne taip, ar tai tik "Weibo" raudonas vokas, vakar man skaudėjo rankas, ir aš neišpurčiau "WeChat" raudono voko.) )

Paskelbta 2015-02-14 07:14:33 |
Kiek pinigų griebėte Loulou?
Paskelbta 2016-03-02 13:48:27 |
Atrodo toks aukštas
Paskelbta 2016-03-07 12:51:02 |
Nežinau, ar tai rimta
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com