Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 13448|Vastaus: 5

Kuinka ottaa punaiset kirjekuoret tieteellisesti: Vuoden lopussa voit rikastua ja kirjoittaa ohjelman, jolla voit napata punaisia kirjekuoria

[Kopioi linkki]
Julkaistu 13.2.2015 22.44.10 | | | |
0×00 Taustaa

Millaisia punaiset kirjekuoret ovat? Hänen veljensä poika Huer sanoi: "Raha on lähes verrattavissa. Veli ja tytär Dao Yun sanoivat: "Se ei ole yhtä hyvä kuin tätini tuulen takia." "Kaikki ymmärtävät taustan, on uusi vuosi, ja se on päivä, jolloin punaiset kirjekuoret lentelevät taivaalla. Sattumalta opin Pythonin kaksi päivää sitten, ja olin innostuneempi, joten tutkin ja tutkin Weibon punaisten kirjekuorien ryömimistä, miksi Weibon punaiset kirjekuoret Alipayn punaisten kirjekuorien sijaan, koska ymmärrän vain verkkoa, ja jos minulla on energiaa, saatan myös opiskella whack-a-mole-algoritmia tulevaisuudessa.
Koska olen aloittelija Pythonissa, tämä ohjelma on myös kolmas ohjelma, jonka kirjoitin Pythonin oppimisen jälkeen, joten älä tökkää henkilökohtaisesti, jos koodissa on kuoppaa, keskitytään ideaan, no, jos ideassa on kuilua, älä tökkää sitä kasvotusten, näetkö, IE:llä on mahdollisuus asettaa itsensä oletusselaimeksi, ja kirjoitan roskapohjainen artikkeli on myös hyväksyttävä......
Käytän Python 2.7:ää, ja sanotaan, että Python 2:n ja Python 3:n välillä on suuri ero.
0×01 ideoita
Olin liian laiska kuvaamaan sitä sanoin, joten piirsin luonnoksen, ja kaikkien pitäisi ymmärtää se.
Ensinnäkin, vanha sääntö: esittele ensin kirjasto, jonka käyttö ei ole sinulle hyödyllistä, mutta jota et voi luopua:
[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] Ilmoita sitten joitakin muita muuttujia, joita sinun täytyy käyttää myöhemmin:

[mw_shl_code=java,true]reload(sys)sys.setdefaultencoding('utf-8&') #将字符编码置为utf-8luckyList=[] #红包列表lowest=10 #能忍受红包领奖记录最低为多少[/mw_shl_code]Tässä käytetään RSA-kirjastoa, joka ei ole oletuksena Pythonissa. Täytyy asentaa :https://pypi.python.org/pypi/rsa/

Lataamisen jälkeen suorita setpy.py asennus, niin voimme aloittaa kehitysvaiheet.
0×02 Weibo-kirjautuminen
Punaisten kirjekuorien kerääminen täytyy suorittaa kirjautumisen jälkeen, joten kirjautumistoiminto on oltava olemassa, kirjautuminen ei ole avain, avain on evästeiden säilyttäminen, tässä tarvitaan cookielibin yhteistyötä.
[mw_shl_code=java,true]cj = cookielib. CookieJar()opener = urllib2.build_opener(urllib2. HTTPCookieProcessor(cj))urllib2.install_opener(opener)[/mw_shl_code] Näin kaikki verkkotoiminnot, jotka käyttävät avaajaa, käsittelevät evästeiden tilan, vaikka en tiedä siitä paljoa, mutta se tuntuu mahtavalta.
Seuraavaksi meidän täytyy kapseloida kaksi moduulia, toinen on tiedonkeruumoduuli, jota käytetään yksinkertaisesti datan GET-vastaanottamiseen, ja toinen datan POST-käyttöön.
[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') palauttaa teksti paitsi Exception, e:                print u' pyydä poikkeus, 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() palauttaa teksti paitsi Exception, e: print u'Request exception, url: '+url[/mw_shl_code] Näillä kahdella moduulilla voimme SAADA ja POSTATA dataa, joista yksi syy siihen, miksi getData dekoodataan ja sitten koodataan, on se, että Win7:ssä olen aina sekoittanut tuloksen virheenkorjauksessa, joten lisäsin koodausprosessointia, nämä eivät ole pointti, alla oleva kirjautumisfunktio on Weibo-kirjautumisen ydin.
[mw_shl_code=java,true]def login(nick, pwd): tulosta 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) key = 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 (yhteensopiva; 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"--------- Kirjautuminen onnistui! ------- "print" ----------......---------- "paitsi Poikkeus, e: print u" --------- kirjautuminen epäonnistui! -------" tulosta "----------......----------" exit(0)[/mw_shl_code]Tämän parametrit ja salausalgoritmit on kopioitu internetistä, en ymmärrä kovin hyvin, luultavasti se on ensin aikaleiman ja julkisen avaimen pyytäminen, sitten RSA-salaus ja lopuksi käsittely ja lähetetään se Sina-kirjautumisrajapintaan, kun Sinasta on onnistuneesti kirjautunut, se palauttaa Weibo-osoitteen, sinun täytyy pyytää se, jotta kirjautumistila voi aktivoitua kokonaan, Onnistuneen kirjautumisen jälkeen seuraavat pyynnöt kantavat nykyisen käyttäjän evästeen.
0×03 Nimetty punainen kirjekuoripiirros
Kun kirjauduin onnistuneesti Weiboon, en malta odottaa, että löydän punaisen kirjekuoren kokeillakseni sitä ensin, tietenkin ensin selaimessa. Lopulta löysin sivun, jossa oli punainen kirjekuoripainike, F12 kutsui debuggerin nähdäkseen, mitä datapaketti pyysi.

Näet, että pyynnön osoite on http://huodong.weibo.com/aj_hongbao/getlucky, siinä on kaksi pääparametria: toinen on ouid, eli punainen envelope-id, joka näkyy URL-osoitteessa, toinen share-parametri määrää, jaetaanko se Weiboon, ja on _t en tiedä mihin se on tarkoitettu.
Nyt teoriassa voit suorittaa punaisten kirjekuorien poimimisen lähettämällä kolme parametria tähän URL-osoitteeseen, mutta kun lähetät parametrit, huomaat, että palvelin palauttaa sinulle taianomaisesti tällaisen merkkijonon:
[mw_shl_code=java, totta] {"code":303403,"msg":"Valitettavasti teillä ei ole lupaa päästä tälle sivulle","data":[]}[/mw_shl_code] Älä panikoi nyt, monien vuosien web-kehityskokemukseni mukaan toisen osapuolen ohjelmoijan pitäisi arvioida suosittelijaa, hyvin yksinkertaista, kopioi kaikki aiemman pyynnön otsikot.
[mw_shl_code=java,true]def getLucky(id): #抽奖程序 print u"--- draw red envelope from:"+str(id)+"---" print "----------......----------" if checkValue(id)==False: #不符合条件, tämä on funktio, joka palautetaan myöhemmin        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, kuten Gecko) Chrome/33.0.1750.146 BIDUBrowser/6.x Safari/537.36', 'X-Requested-With':'XMLHttpRequest' } res = postData(luckyUrl,param, otsikossa)[/mw_shl_code] Tässä tapauksessa teoriassa ei ole ongelmaa, mutta todellisuudessa ongelmaa ei ole. Kun arpajaistoiminto on suoritettu, meidän täytyy arvioida tilanne, ja palautettu resoluutio on json-merkkijono, jossa koodi on 100000 on onnistunut, ja jos se on 90114, se on tämän päivän arpajaisten yläraja, ja muutkin arvot epäonnistuvat, joten:
[mw_shl_code=java,true]hbRes=json.loads(res)if hbRes["code"]=='901114': #今天红包已经抢完 print u"--------- on saavuttanut ylärajan---------" print "----------......----------" log('lucky', str(id)+'---'+str(hbRes["code"])+'---'+hbRes["data"]["title"]) exit(0)elif hbRes["code"]=='100000':#成功 print u"---------Toivotan sinulle hyvinvointia---------" print "----------......----------"        log('success',str(id)+'---'+res) exit(0) if hbRes["data"] ja 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], jossa lokki on myös toiminto, jonka muokkaan ja jota käytetään lokien tallentamiseen:
[mw_shl_code=java,true]def log(type,text): fp = open(type+'.txt','a') fp.write(text) fp.write('\r\n') fp.close()[/mw_shl_code]





Edellinen:Muistiinpanot PHP-latauksen enimmäisrajoituksista
Seuraava:memcache dll -laajennus lataa PHP5.2, 5.3, 5.4, 5.5
 Vuokraisäntä| Julkaistu 13.2.2015 22.46.37 |
0×04 Selaa punaisten kirjekuorien listaa
Onnistuneen yhden punaisen kirjekuoren keräystoiminnon testauksen jälkeen se on ohjelmamme ydin iso siirto – punaisen kirjekuoren listan indeksointi, punaisen kirjekuoren listan indeksointiin pitäisi olla monia menetelmiä ja sisäänkäyntejä, kuten erilaisia Weibon hakusanoja ja niin edelleen, mutta käytän tässä yksinkertaisinta menetelmää: punaisen kirjekuoren listan indeksointia.
Kotisivulla (http://huodong.weibo.com/hongbao punaisen kirjekuoren toiminnasta, useista kohdista voi nähdä kaiken, vaikka lista on paljon yhteydessä toisiinsa, se voidaan tiivistää kahteen kategoriaan (paitsi rikkaimman punaisen kirjekuoren lista): teema ja tulostaulu.
Jatkaen F12:n kutsumista, analysoi molempien sivujen muoto, aloittaen aihemuotojen listasta, kuten: http://huodong.weibo.com/hongbao/special_quyu
Näet, että punaisen kirjekuoren tiedot ovat divissä nimeltä info_wrap, joten meidän tarvitsee vain aktivoida tämän sivun lähdekoodi, hakea kaikki infowrapit ja yksinkertaisesti käsitellä ne saadaksemme tämän sivun punaisen kirjekuoren listan. Tässä meidän täytyy käyttää joitakin säännöllisiä:
[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 Hanki info_wrap tavallinen 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(Lista) if n==0: palautus i:lle 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')) #礼品价值 paitsi Exception, 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/(lunastajien määrä + palkinnon arvo) # if info[0]/(info[2]+info[1])>100:                # tulosta url luckyList.append(info) if 'class="page"' html:#存在下一页 p=p+1 getThemeList(url,p) #递归调用自己爬取下一页[/mw_shl_code]On niin vaikea sanoa, että se on niin vaikeaa, ja näiden kahden lauseen kirjoittaminen vei kauan. Lisäyksessä [4] on myös tieto, joka on algoritmini punaisten kirjekuorien arvon arvioimiseen, miksi tehdä näin, koska punaisia kirjekuoria on paljon mutta voimme piirtää vain neljä kertaa, valtavassa laukkujen meressä meidän täytyy löytää arvokkaimmat punaiset kirjekuoret ja sitten nostaa ne, tässä on kolme dataa viitteeksi: käteisarvo, lahjan arvo ja vastaanottajien määrä, tietenkin jos käteinen on pieni ja vastaanottajien määrä tai palkinnon arvo on todella korkea (jotkut ovat jopa hulluja satojen miljoonien yksiköissä), Sitten sitä ei kannata napata, joten pidättelin pitkään ja lopulta keksin algoritmin punaisten kirjekuorien painon mittaamiseen: punaisen kirjekuoren arvo = käteinen / (saajien määrä + palkinnon arvo).
Tulostaulusivun periaate on sama: etsi avaintunnisteet ja yhdistä ne säännöllisesti.
[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 Hae list_info tavallinen 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 läpi kaikkien 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')) #礼品价值 paitsi Exception, e:                        info[1]=float(info[1].replace('\xd2\xda','0000000')) #礼品价值 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])) #红包价值, käteinen/(vastaanottajien määrä + lahjan arvo)                # if info[0]/(info[2]+info[1])>100: # tulosta url luckyList.append(info) if 'class="page"' html:#存在下一页 p=p+1                getTopList(url, daily,p) #递归调用自己爬取下一页[/mw_shl_code]Okei, nyt voimme onnistuneesti indeksoida kahden erikoissivun listan, ja seuraava vaihe on saada listalista, eli kokoelma kaikista näistä listaosoitteista, ja sitten napata ne yksi kerrallaan:
[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]
 Vuokraisäntä| Julkaistu 13.2.2015 22.47.13 |
0×05 Tuomari punaisten kirjekuorien saatavuudesta
Tämä on suhteellisen yksinkertaista: etsi ensin avainsanoja lähdekoodista nähdäksesi, onko siellä punainen kirjekuoren nappi, ja mene sitten kokoelman sijoitukseen nähdäksesi, mikä on korkein ennätys, jos eniten saa vain muutaman dollarin, näkemiin......
Kokoelman osoitteena on http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid=Red Envelope 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:ssä tai True: #存在抢红包按钮                logUrl="http://huodong.weibo.com/aj_hongbao/detailmore?page=1&type=2&_t=0&__rnd=1423744829265&uid="+id #查看排行榜数据 param={} header= { 'Cache-Control': '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, kuten 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 Hanki kaikki list_info vakituiset luckyLog=pMoney.findall(html,re. DOTALL) if len(luckyLog)==0: maxMoney=0 else: maxMoney=float(luckyLog[0]) if maxMoney <matalin: #记录中最大红包小于设定值 palauta Väärin muuten: tulosta u"--------- käsi hidastaa---------" print "----------......----------" palauttaa false        return True[/mw_shl_code]0×06 Viimeistelytyöt
Päämoduulit ovat jo paikoillaan, ja nyt kaikki vaiheet täytyy kytkeä sarjaan:
[mw_shl_code=java,true]def start(username,password,low,fromFile): gl=False lowwest=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 "----------......----------" paitsi poikkeus, e: print u' ei onnistunut jäsentämään paikallista listaa, indeksoiden verkkosivun. ' print "----------......----------" gl=Totta, muuten: print u' ei ole olemassa paikallisesti luckyList.txt selaavat verkkosivut. ' tulosta "----------......----------" gl=True if gl==True: getList() operaattorista import itemgetter                newList=sorted(luckyList, key=itemgetter(4),reverse=True) f = file('luckyList.txt', 'w') p.dump(newList, f) #把抓到的列表存到文件里, joten seuraavalla kerralla ei tarvitse napata f.close() luckylle newList: jos ei 'http://huodong.weibo.com' lucky[3]:ssa: #不是红包 jatka tulosta lucky[3] id=re.findall(r'(\w*[0-9]+)\w*',lucky[3])                getLucky(id[0])[/mw_shl_code] Koska punaisen kirjekuoren listaa on todella hankalaa indeksoida joka kerta kun sitä testataan, lisäsin kappaleen, jolla koko lista siirretään tiedostokoodiin, jotta voit lukea paikallisen listan ja napata punaisen kirjekuoren tulevaisuudessa.
[mw_shl_code=java,true]if __name__ == "__main__": print u"------------------ Weibo Red Envelope Assistant------------------" print "---------------------v0.0.1---------------------" print u"------------- by @***----------------" tulosta "-------------------------------------------------" yritä: uname=raw_input(u"Syötä Weibo-tilisi: ".decode('utf-8').encode('gbk'))                pwd=raw_input(u"Syötä Weibo-salasanasi: ".decode('utf-8').encode('gbk')) low=int(raw_input(u"Punainen kirjekuori vastaanottaa maksimikäteinen, joka on suurempi kuin n: ".decode('utf-8').encode('gbk')))) fromfile=raw_input(u) Käytetäänkö punaista kirjekuoren listaa luckyList.txt: (y/n) ".decode('utf-8').encode('gbk')) paitsi Poikkeus, e: print u" parametrivirhe" print "----------......----------" print e                exit(0) print u"--------- program start---------" print "----------......----------" start(uname,pwd,low, fromfile) print u" --------- program end--------- "print "----------...... ----------" os.system('tauko')[/mw_shl_code]
0×07 Mennään!

0×07 Yhteenveto
Perus crawler-runko on käytännössä valmis, itse asiassa tällä crawlerilla on vielä paljon tilaa pelata monissa yksityiskohdissa, kuten muokkaamisessa tukemaan eräkirjautumista, kuten punaisen kirjekuoren arvoalgoritmin optimoinnissa, koodissa itsessään pitäisi olla paljon optimointipaikkoja, mutta omalla kyvylläni arvioin, että pystyn saamaan tämän.
Lopulta kaikki näkivät ohjelman tuloksen, kirjoitin satoja koodirivejä, tuhansia sanoja artikkeleita, ja kaikki mitä yritin saada saadakseni vain kaksiväriset pallot, Nima pit dad, miten se voisi olla kaksivärinen pallo!! (Kertoja: Mitä enemmän kirjailija puhui, sitä innostuneemmaksi hän tuli, ja hän itki oikeasti, ja ympärillä olevat ihmiset vakuuttivat: Veli, ei se ole niin, eikö se ole vain Weibon punainen kirjekuori, eilen käteni olivat kipeät, enkä ravistellut WeChatin punaista kirjekuorta.) )

Julkaistu 14.2.2015 7.14.33 |
Kuinka paljon rahaa sait Loulousta?
Julkaistu 2.3.2016 13.48.27 |
Näyttää niin pitkältä
Julkaistu 7.3.2016 12.51.02 |
En tiedä, onko se vakavaa
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com