Pereiti prie turinio

Lapinskis

Patvirtinti nariai
  • Pranešimai

    665
  • Užsiregistravo

  • Lankėsi

  • Laimėta dienų

    2
  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Lapinskis sureagavo į Jarichon Ieškau investuotojų į naują mokėjimo sistemą   
    Neblogas anekdotas :)
  2. Patinka
    Lapinskis sureagavo į Rokas Goes Wild Savęs tiuningas arba duok sau per kepalą, eik dirbt ir nuversk kalnus   
    Sveiki uždarbiečiai,
     
    Seniai man brendo mintis šitą postą susukt. Dažnai susiduriu su problema - "o tai kodėl man nesiseka", "man taip nepavyktų", "aš negaliu".
     
    Pyst per kepalą už tokius žodžius!
     
    Forumiečiai, mano pradėtą sąrašiuką pildom ir siunčiam visiems sakantiems "negaliu, nemoku"!
     
    1. Ieškok galimybių, kur atrodo jų nebėra. Nesąmonės yra labai gerai. Prieš du šimtus metų žmonės, sakę, kad žmogus išsilaipins mėnulyje, buvo vadinami debilais. Bet va, išsilaipino. Durnos idėjos yra labai gerai.
     
    2. Koncentruokis į sprendimą, o ne problemą. "Aš neturiu ką apsirengti" - EIK IR NUSIPIRK NEVERKĘS/US.
     
    3. Niekas ant padėklo neatneš ir į rankas nepaduos. Sėkmę kurk pats, o nelauk, kol ji "netikėtai" ateis.
     
    4. Turi baimių? Gerai, vadinasi esi protiškai sveikas. Bijai kažką daryti? O kas blogiausia gali nutikti, jei nepasiseks? Neatrodo taip baisiai? TAI KO DAR SĖDI?
     
    5. Nesiskųsk. Niekam neįdomios tavo problemos, be to, negatyvūs žmonės turi savybę atstumti jiems reikalingus žmones.
     
    6. Prisiimk atsakomybę ir NIEKADA NESITEISINK. Pamatysi, viskas pradeda tvarkytis, kai nustoji teisintis. Pavėlavai, nes tingėjai keltis? Taip ir sakyk, o ne "akumuliatorius nusėdo", nes kad ir kas bebūtų, vistiek pasirodai blogai, tai geriau jau bent sąžiningam būt.
     
    7. Geriausias laikas pasodinti medį buvo dvidešimt metų atgal. Antras geriausias laikas - dabar. Imk ir padaryk darbus, kuriuos reikia padaryti DABAR. Nieko neatidėliok, nebent būtina atidėti, tam kad pavyktų.
     
    10. Gyvenk gyvenimą dabar. Sakai po dvidešimt metų turėsi gerovę? O kas jeigu ne? Gyvenk šiandien, neužmiršk rytojaus, bet ateitį palik ateičiai.
     
    11. Visada mokykis. Net virtuvėj, kol daraisi arbatą/kavą, sukinėk peilį rankose, mokinkis jį valdyti. Užimsi laiką, išmoksi, nes niekada nežinai, kas gyvenime gali nutikti ir ko reikės.
     
    12. Žinok ko nori ir turėk planą. "Noriu daug pinigų" Ką su jais veiksi? "Nežinau" Tai gal tau jų ir nereikia?; Planavimas pašalina netikėtumus ir mažina baimes, nes kai esi pasiruošęs viskam, niekas nebaisu. "O kas jeigu?" yra geriausias klausimas planuojant.
     
    13. Visada apskaičiuok riziką. Kai perki naują daiktą, juk nesunku skirti dešimt minučių jo aprašymams ir nuomonėms paskaityti internete, negu po to gailėtis metus/du/dešimt/visą gyvenimą.
     
    14. Eik naujais keliais - seni keliai veda ten pat, kur viskas aišku ir sėkmę pasiėmė kiti, tie, kurie tais keliais ėjo pirmi.
     
    15. Daryk viską kaip sau ir dar pridėk. Pamatysi, "maladėc" reputacija ateis neprašant. š*do malimas garbės neprideda.
     
    16. Venk idiotų. Jie siurbia energiją ir mintis, skundžiasi, verkia ir šiaip užknisa. Nieko gero. Next.
     
    17. Visi mes gyvename už tą "o kaip tu čia padarei, koks tu maladėc", mums reikia to paplekšnojimo per petį, brendi per šūdą, nes poto sako "o, tau pavyko, tu stiprus, koks tu kietas, geras ir malonus". STOP. Atsisakyk šito. Gyveni sau, ne kitiems, atprask nuo pagyrų. Tikslas geras gyvenimas, o ne kitų pagyros. Čia jau aukštas pilotažas, šitą įvaldžius tampi po.chuistu (pagal kitus), bet perlipi per save ir darai tą ką reikia ir atsisakai to ko nereikia. Nerišlios mano mintys čia, bet tikiuos supratot. Nedirbk už pagyras, dirbk už atlygį.
     
    18. IŠEIK IŠ KOMFORTO ZONOS. Ten nieko nevyksta. Nuotykiai už durų, pasaulyje. Be iššūkių netobulėsi. Netobulėsi - gyvenimas negerės. Patiko frazė - "People die when they get boring to God. Don't get boring". Kitaip tariant gyvenk aktyviai, priimk iššūkius, niekas neuždirbo milijono gulėdamas prie TV.
     
     
    Tai tiek norėjau parašyt, galit su manim sutikt arba ne, bet jeigu jaučiat, kad kažko trūksta, BŪTINAI PRIRAŠYKIT.
     
    Sėkmės darbuose ir gyvenime!
  3. Patinka
    Lapinskis sureagavo į Arvydas Tekstas išlenda iš ribų. (HTML/CSS)   
    koduotojai...  
     

    width: 300px; word-wrap: break-word; white-space: -moz-pre-wrap !important; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap;

  4. Patinka
    Lapinskis gavo reakciją nuo edis2 Web scrapping naudojant PHP   
    Sveiki uždarbiečiai, jau vienur prisižadėjau, kad parašysiu šiek tiek apie web scrapping. Tai pirmas mano straipsnis šiame forume, todėl nemaišykit su žemėmis be pagrindo. Konstruktyvi kritika visada laukiama, o šiaip ir pasiginčyti galiu, jeigu atsiras žmonių, manančių, kad mano pateikti programinio kodo pavyzdžiai yra neteisingi ar, kad galima padaryti kažką geriau. Pats esu gana dar jaunas ir daug ko nemoku, tačiau trokštu išmokti. Iš savo, ir kitų mano artimųjų patirties galiu pasakyti, kad srities specialistu tampi mokydamas kitus.
     
    Pradedant, norėčiau apžvelgti kam web scrapping gali būti panaudojamas. Šį metodą programuotojai naudoja tada, kuomet reikia gauti informacijos iš kitos svetainės ir nenorima dirbti "copy->paste" principu. Web scrapping tai padarys už jus. Kadangi daugiausia teko programuoti PHP programavimo kalba, tai tik ja galėsiu pateikti pavyzdžių.
     
    Vogti/skolintis/pasiimti informaciją PHP pagalba iš kitų interneto svetainių galima keletu būdų. Tačiau aprašysiu tik du - vieną, kuris nepatogus ir jį naudojant gali prasidėti rimtas "galvos skausmas", ir antrą - kurį pats naudoju ir rekomenduoju naudoti kitiems.
     
    Pirmasis būdas. Jame naudojama curl biblioteka, preg_match_all funkcija. Blogiausia šio metodo savybė - reikia rašyti regexp išraiškas. Man (spėju ir kitiems programuotojams) tai yra "pain in the ######". Šis metodas turi ir pliusų - juo parašyti script'ai veikia šiek tiek greičiau negu antruoju.
     
    Daug netuščiažodžiaujant, štai kodo pavyzdys (ačiū Sauliui):
     

    <?php function rasti_turini( $pradzia, $galas, $url ) { $pradzia = str_replace('/', '\/', $pradzia); $galas = str_replace('/', '\/', $galas); $regexp = '/' . $pradzia . '(.+?)' . $galas . '/'; preg_match_all($regexp, $url, $atitike); return $atitike[0]; } function curl( $url ) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); return $result; } //magic (: $url = curl( 'http://www.orai.lt/lt/prognozes/vilnius' ); $orai = rasti_turini( '<td class="oraiTableRow">', '</td>', $url ); //atvaizduojame antrąjį masyvo elementą echo $orai[1]; //jeigu norite pažiūrėti, kaip atrodo gautas masyvas, atkomentuokite sekančias 3 eilutes //echo '<pre>'; //print_r( $orai ); //echo '</pre>'; ?>
     
     
    Antrasis būdas. Tai mano mėgstamiausias, ir mano nuomone geriausias būdas gauti informaciją iš kito tinklalapio. Kaip taip padaryti? Ogi pasitelkti simple html DOM biblioteką. :) Jos pagalba galima rašyti elementų select'orius jQuery stiliumi.
     
    Pvz.:

    $html->find('table.bioTableAlt tbody tr');
     
    Argi gali būti patogiau ir greičiau? :rolleyes:
     
    Tarkim turime užduotį, mums reikia gauti visą geriausių teniso žaidėjų sąrašą iš šitos svetainės. Taip, visą 1000 :) Atkreipkite dėmesį, kad lentelė atnaujinama kiekvieną pirmadienį. Kad šis kodas veiktų, jums prireiks parsisiųsti simple html dom klasę.
     
    Kodas:

    <?php //nuimame laiko limita set_time_limit(0); //simple html dom include('simple_html_dom.php'); //------------------------------------------------------------------------------ // Nuorodos //------------------------------------------------------------------------------ //paskutinio pirmadienio data $date = date('d.m.Y', strtotime('last monday')); //užkomentuokit dali nuorodu, jeigu norit greiciau pamatyti rezultata $urls = array(); $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=1'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=101'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=201'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=301'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=401'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=501'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=601'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=701'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=801'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=901'; //inicijuojam masyvą $zaidejai $zaidejai = array(); //praskanuojam visas nuorodas foreach($urls as $url) { //gauname duomenis iš svetainės $html = file_get_html($url); foreach( $html->find('table.bioTableAlt tbody tr') as $a ) { // Duomenys apie žaidėją: // pozicija --- vardas, šalis --- žaidėjo taškai --- pozicijos pokytis --- turnyrų skaičius $zaidejas['pozicija'] = $a->children(0)->plaintext; $zaidejas['vardas'] = $a->children(1)->plaintext; $zaidejas['taskai'] = $a->children(2)->plaintext; $zaidejas['ppokytis'] = $a->children(3)->plaintext; $zaidejas['tskaicius'] = $a->children(4)->plaintext; $zaidejai[] = $zaidejas; } } //pašalinam nereikalingus masyvo elementus (lentelės heading'us) unset( $zaidejai[909] ); unset( $zaidejai[808] ); unset( $zaidejai[707] ); unset( $zaidejai[606] ); unset( $zaidejai[505] ); unset( $zaidejai[404] ); unset( $zaidejai[303] ); unset( $zaidejai[202] ); unset( $zaidejai[101] ); unset( $zaidejai[ 0 ] ); //sutvarkom array keys $zaidejai = array_values( $zaidejai ); //pažiūrim gautą masyvą echo '<pre>'; print_r( $zaidejai ); echo '</pre>'; ?>
     
    Štai dar vienas pavyzdys, kuriame gauname filmo reitingą iš imdb.com:

    <?php //simple html dom biblioteka include('simple_html_dom.php'); //filmo url $url = 'http://www.imdb.com/title/tt0485947/'; //gauname svetainės html $html = file_get_html($url); //gauname filmo reitingą $ratio = $html->find('span.rating-rating', 0)->plaintext; echo $ratio; ?>
     
     
    Pabaigai, noriu paminėti, kad su web scrapping galima sukurti gausybę naudingų ir niekam nekenkiančių dalykėlių, tačiau su juo galima pilnai pavogti turinį is RSS srauto ar iš paprasčiausios svetainės. Bet kaip tai padaryti - susigalvokite patys.
     
    Ir tikiuosi, jog jums patiko, bei buvo naudingas pirmasis mano straipsnis uždarbis.lt forume :)
  5. Patinka
    Lapinskis sureagavo į Arvydas PHP įrašų atvaizdavimas pagal skaičių   
    ORDER BY ABS(skaicius)
  6. Patinka
    Lapinskis sureagavo į Silke Nemokamas dizaino karpymas ir kodavimas   
    Tai, kad nemanau, jog jis šaipėsi, tiesiog numetė link'ą į dizainus praktikai :)
  7. Patinka
    Lapinskis sureagavo į Simonas Sėkmingos internetinės parduotuvės kūrimas   
    Sveiki visi,
     
    Tęsiu savo straipsnių rašymą uždarbis.lt forume. Šio straipsnio tema, yra "kaip sukurti sėkmingą internetinę svetainę".
    Prieš skaitant šį straipsniuką, siūlau paskaityti šiuos straipsnius:


     
    Kur slypi internetinio tinklapio vertė?
    Kas yra geras svetainės dizainas

     
    Dažnai būna, kad sugalvojate kažkokią internetinę idėją. Turbūt tik ją sugalvojęs, dažnas pamąsto, kad iš jos galėtų užsidirbti. Pradedame galvoti visokius planus, kaip tai įgyvendinti, bet retai tai užsirašome.
    Taigi, mano pirmasis patarimas, būtų sugalvojus gerą idėją (na, ji jums visada bus iš pradžių gera), susirašyti ant balto popieriaus lapo, tokius dalykus, kaip įgyvendinimas, funkcijos, išlaidos, bei, kuo šis projektas bus KITOKS.
     
    KITOKS projektas - ir vėlgi, labai įdomi tema, nuo kurios priklauso didžioji sėkmės dalis. Kitoks projektas, gali būti unikali idėja, kuri internete dar nebus įgyvendinta, kitokia parduotuvė, kuri pardavinėja prekes tokias kaip ir kituose parduotuvėse, bet daro tai geriau, t.y pardavinėja pigiau bei turite tarkime kokią greito ir nemokamo pristatymo funkciją.
     
    Taigi, realiai, iš viso šito, išplaukia klausimas - Kuo mano sugalvota svetainė turi būti geresnė už kitas svetainės, arba Kodėl mano internetinėje parduotuvėje žmoniems verta pirkti
     
    Taip pat mano nuomone, labai svarbu, yra paklausti pačio savęs. Ar aš pirkčiau šioje parduotuvėje prekę, ar ne? Taip, gali būti taip, kad jūs galvodamas idėją galvojote apie tai, ko reikėtų kitiems, tačiau tuo atveju, jūs pasiklauskite savo draugų, ar jie pirktų tą prekę.
     
    Puikus pavyzdys, galvojom su draugu pardavinėti LED marškinėlius. Tačiau, geriau apmąsčius, susidūrėme su keliomis kliūtimis.
    Pirma kliūtis tai tokia, kad internete jau buvo parduotuvių, kurios juos pardavinėja. Mes tų marškinėlių pigiau negalėtume parduoti, o jei pardavinėsim brangiau - niekas nepirks.
     
    Kitas dalykas, jei vis dėl to pakelsi kaina, kad apsimokėtų juos pardavinėti, ar tai padės? Mano verslo modelis, yra nuo prekės užsidirbti bent 40% proc, taigi galiausiai kaina gavosi apie 60-70 LT. Ir, aš paklausiau savęs, ar aš pirkčiau šiuos marškinėlius už tiek. - Atsakymas, ne. Taip pat paklausiau draugo, išgirdau tą patį atsakymą, dar poros draugų - ir vėl tas pats ne. Taigi, ši idėja užsibaigė, net neprasidėjus. Ir gerai, kad taip atsitiko, nes jei savęs nebūčiau to paklausęs, būčiau praradęs daug pinigų.
     
    Išlaidos
     
    Prieš sukuriant internetinį projektą, labai svarbu yra apskaičiuoti išlaidas. Ir tai yra labai svarbu padaryti tiksliai, nes apsiskaičiavus, gali jūsų idėja sužlugti. Iš anksto privalote visą tai numatyti. Susirašykite, kiek išleisite programuotojui bei dizaineriui (jei pats tuo neužsiemate), kiek išleisite hostingui. Galų gale, būtinai pasilikite pinigų reklamai.
     
    Funkcijos
     
    Prieš pradedant kurti internetinį tinklapį, sugalvokite visas tinklapio funkcijas. Jas turėsite pasakyti programuotojui, ir neduok Dieve pamiršite jas jam pasakyti, tada gali tekti keisti visą sistemą.
     
     
    Dar pora patarimų
     
    1. Negalvokite apie pinigus. Tai trukdys jums įsigilinti į patį projektą. Iš patirties sakau, kad geriausia yra sukurti projektą, ir jį plėtoti, tada pinigai ateis patys. Juk visi geriausi projektai, kai buvo kuriami, nebuvo galvojama apie pinigus.(pvz twitter, facebook, google). Tik po kokių metų ar dviejų, turėtumėte pradėti galvoti apie uždarbį. Tada jūs savo projektą pažinsite, ir iš jo jau gali būti atsiradę naujų uždarbio būdų.
     
    2. Užsirašę idėją, ir pasirašę tuos dalykus, kaip įgyvendinimas, funkcijos, kuo projektas bus kitoks, ir išlaidas, duokite mintims susigulėti. Dažniausiai tik sugalvota idėja mus apakina, ir mes tarsi pro rožinius akinius į ją žiūrime. Palaukite kokią savaitę, ir vėl paskaitykite tai ką esate pasirašę. Jeigu idėja Jums patiks - sveikinu, ir linkiu kibti į darbus.
     
    3. Atsiminkite, kad tik pagalvojus apie idėja, iškarto yra 50proc, kad ji bus sėkminga. Pradėjus ją įgyvendinti, procentai pakyla iki 80proc.
     
    4. Nesustokite pasitaikius pirmajai nesėkmei. Darykite tai, kuo tikite. Svarbu, yra neklausyti kitų, nes jai jau pradėjote, tai turite tęsti (na, nebent labai einate į "minusą"
     
    5. Išsirinkite gerą domeną, kad jis atitiktų svetainės turinį, bei pavadinimas kad būtų skambus bei įsimintinas.
     
    6. Pasirinkite kokybišką hostingą (nepataupykite), nes to priklausys jūsų svetainės ruputacija.
     
    Ir dar ant galo, viena iš istorijų:
     
  8. Patinka
    Lapinskis gavo reakciją nuo 0zas WP skriptas sitemap   
    http://wordpress.org/extend/plugins/geo-captcha/
  9. Patinka
    Lapinskis gavo reakciją nuo 49volro Padekite surasti Wordpress plugin   
    Šitas dalykas netiktų? http://codex.wordpress.org/Function_Reference/wp_count_posts
  10. Patinka
    Lapinskis sureagavo į Arvydas Anekdotai   
    1937-ieji metai. Josifas Stalinas nuvažiuoja į mokyklą aplankyti mokinių, papasakoti jiems apie komunizmą ir pan. Ateina į vieną klasę ir ima kažką pasakoti. Vaikams nuobodu, jie ima knapsėti. Tai matydamas, Stalinas iš monologo pereina į dialogą:
    - Sakykit, vaikučiai, gal turite kažkokių klausimų?
    Ranką pakelia Petia:
    - Taip, turiu tris klausimus.
    - Sakyk, - leidžia Stalinas.
    - Pirma: Kas nužudė Kirovą? Antra: Kodėl žmonės šalyje taip skursta? Trečia: Kodėl šalyje nuolat pažeidžiamos žmogaus teisės, vykdomi trėmimai?
    Stalinas išbąla, jį išpila šaltas prakaitas, bet staiga suskamba skambutis, vaikai pašoka ir išbėga iš klasės. Kitos pamokos pradžioje Stalinas pratęsia:
    - Na, ar dar kas nors turite man klausimų?
    Ranką pakelia Maša:
    - Taip, turiu penkis klausimus.
    - Sakyk, - leidžia Stalinas.
    - Pirma: Kas nužudė Kirovą? Antra: Kodėl žmonės šalyje taip skursta? Trečia: Kodėl šalyje nuolat pažeidžiamos žmogaus teisės, vykdomi trėmimai? Ketvirta: Kodėl skambutis nuskambėjo 20 minučių anksčiau? Penkta: Kur dingo Petia?
     
    ----------------------------------------------------------------------
     
    Vokiečių kariuomenės štabe:
    -Jūsų aukštybe, drįstu pranešti, kad Italija įstojo į karą.
    -Nieko baisaus, pasiųskite prieš juos dvi divizijas.
    -Jūsų aukštybe, drįstu patikslinti, kad Italija įstojo į karą mūsų pusėje.
    -Tokiu atveju jau blogai. Pasiųskite jiems į pagalbą dešimt divizijų.
     
    ----------------------------------------------------------------------
     
    Trys didžiausios XX a. katastrofos:
    Hirošima - 1945
    Černobylis - 1986
    Windows - 1995
     
     
    ----------------------------------------------------------------------
    Su gilia mintimi :)
     
    Laba diena, jūs paskambinote į karinį komisariatą. Jei jūs norite tarnauti kariuomenėje - spauskite žvaigždutę; jei jūs nenorite tarnauti kariuomenėje - spauskite groteles.
     
    ----------------------------------------------------------------------
    Taip pat gili mintis...
     
    1944-ieji, sugriauta Varsuva, pro griuvesius bega mazas berniukas, vardu Karolis Wojtyla, o ji vejiasi SS kareivis rekdamas:
    - Halt!
    Tada is dangaus pasigirsta balsas:
    -Palauk, nezudyk jo, jam bus lemta buti popieziumi! Esesininkas susimasto ir taria:
    -Gerai, bet po jo popieziumi busiu as!
  11. Patinka
    Lapinskis sureagavo į Silke jquery klausimas   
    Būtų gerai, kad tiems <a>, kurių title reikia rodyti, uždėtum dar ir kokią klasę, nes dabar nebent prie visų galima tai prikabinti :)

    $('a').mouseover(function() { $('#title_tekstas').html($(this).attr('title')); }); $('a').mouseout(function() { $('#title_tekstas').html(''); // arba defaultinis tekstas kažkoks });
    Per daug netikrinau, bet esmė turėtų būti tokia.
  12. Patinka
    Lapinskis sureagavo į Silke Kaip sukurti weba   
    Dar vienas perliukas, nori „kurti weba“ - imk PHP-Fusion...
     
     
    ...arba pavok TVS, kad būtum kietas... :lol:
  13. Patinka
    Lapinskis sureagavo į north Besikeičiantis IP   
    Vo priminei.. Jis jau nekarta cia taip, kaip ir su hostu buvo.. Galvos skausmas. :D
  14. Patinka
    Lapinskis gavo reakciją nuo Keturkaimis Keturkaimis   
    Tvarkinga svetainė, turinti ateitį. Reikėtų kiek padirbėti vėliau su rimtesniu dizainu, bet kol kas tai viskas čiki piki. :) Linkiu tau neprarasti entuziazmo rašant ir kuriant Keturkaimis.eu :)
  15. Patinka
    Lapinskis sureagavo į Silke Besikeičiantis IP   
    Tai pats pasidaryk, arba pats spaudyk. Arba nueik į maximą, išsiimk iš kepalo duonos vieną riekę ir sakyk, kad neverta mokėt. Ir nemokėk :)
  16. Patinka
    Lapinskis sureagavo į Silke Pora žaidėjų žaidimai wordpresse.   
    Dėl žaidimų, tai nieks nedalina tokių dalykų, kaip multiplayer pokerio nemokamai :)
  17. Patinka
    Lapinskis gavo reakciją nuo edis2 Web scrapping naudojant PHP   
    Sveiki uždarbiečiai, jau vienur prisižadėjau, kad parašysiu šiek tiek apie web scrapping. Tai pirmas mano straipsnis šiame forume, todėl nemaišykit su žemėmis be pagrindo. Konstruktyvi kritika visada laukiama, o šiaip ir pasiginčyti galiu, jeigu atsiras žmonių, manančių, kad mano pateikti programinio kodo pavyzdžiai yra neteisingi ar, kad galima padaryti kažką geriau. Pats esu gana dar jaunas ir daug ko nemoku, tačiau trokštu išmokti. Iš savo, ir kitų mano artimųjų patirties galiu pasakyti, kad srities specialistu tampi mokydamas kitus.
     
    Pradedant, norėčiau apžvelgti kam web scrapping gali būti panaudojamas. Šį metodą programuotojai naudoja tada, kuomet reikia gauti informacijos iš kitos svetainės ir nenorima dirbti "copy->paste" principu. Web scrapping tai padarys už jus. Kadangi daugiausia teko programuoti PHP programavimo kalba, tai tik ja galėsiu pateikti pavyzdžių.
     
    Vogti/skolintis/pasiimti informaciją PHP pagalba iš kitų interneto svetainių galima keletu būdų. Tačiau aprašysiu tik du - vieną, kuris nepatogus ir jį naudojant gali prasidėti rimtas "galvos skausmas", ir antrą - kurį pats naudoju ir rekomenduoju naudoti kitiems.
     
    Pirmasis būdas. Jame naudojama curl biblioteka, preg_match_all funkcija. Blogiausia šio metodo savybė - reikia rašyti regexp išraiškas. Man (spėju ir kitiems programuotojams) tai yra "pain in the ######". Šis metodas turi ir pliusų - juo parašyti script'ai veikia šiek tiek greičiau negu antruoju.
     
    Daug netuščiažodžiaujant, štai kodo pavyzdys (ačiū Sauliui):
     

    <?php function rasti_turini( $pradzia, $galas, $url ) { $pradzia = str_replace('/', '\/', $pradzia); $galas = str_replace('/', '\/', $galas); $regexp = '/' . $pradzia . '(.+?)' . $galas . '/'; preg_match_all($regexp, $url, $atitike); return $atitike[0]; } function curl( $url ) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $result = curl_exec($ch); curl_close($ch); return $result; } //magic (: $url = curl( 'http://www.orai.lt/lt/prognozes/vilnius' ); $orai = rasti_turini( '<td class="oraiTableRow">', '</td>', $url ); //atvaizduojame antrąjį masyvo elementą echo $orai[1]; //jeigu norite pažiūrėti, kaip atrodo gautas masyvas, atkomentuokite sekančias 3 eilutes //echo '<pre>'; //print_r( $orai ); //echo '</pre>'; ?>
     
     
    Antrasis būdas. Tai mano mėgstamiausias, ir mano nuomone geriausias būdas gauti informaciją iš kito tinklalapio. Kaip taip padaryti? Ogi pasitelkti simple html DOM biblioteką. :) Jos pagalba galima rašyti elementų select'orius jQuery stiliumi.
     
    Pvz.:

    $html->find('table.bioTableAlt tbody tr');
     
    Argi gali būti patogiau ir greičiau? :rolleyes:
     
    Tarkim turime užduotį, mums reikia gauti visą geriausių teniso žaidėjų sąrašą iš šitos svetainės. Taip, visą 1000 :) Atkreipkite dėmesį, kad lentelė atnaujinama kiekvieną pirmadienį. Kad šis kodas veiktų, jums prireiks parsisiųsti simple html dom klasę.
     
    Kodas:

    <?php //nuimame laiko limita set_time_limit(0); //simple html dom include('simple_html_dom.php'); //------------------------------------------------------------------------------ // Nuorodos //------------------------------------------------------------------------------ //paskutinio pirmadienio data $date = date('d.m.Y', strtotime('last monday')); //užkomentuokit dali nuorodu, jeigu norit greiciau pamatyti rezultata $urls = array(); $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=1'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=101'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=201'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=301'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=401'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=501'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=601'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=701'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=801'; $urls[] = 'http://www.atpworldtour.com/Rankings/Singles.aspx?d='.$date.'&c=&r=901'; //inicijuojam masyvą $zaidejai $zaidejai = array(); //praskanuojam visas nuorodas foreach($urls as $url) { //gauname duomenis iš svetainės $html = file_get_html($url); foreach( $html->find('table.bioTableAlt tbody tr') as $a ) { // Duomenys apie žaidėją: // pozicija --- vardas, šalis --- žaidėjo taškai --- pozicijos pokytis --- turnyrų skaičius $zaidejas['pozicija'] = $a->children(0)->plaintext; $zaidejas['vardas'] = $a->children(1)->plaintext; $zaidejas['taskai'] = $a->children(2)->plaintext; $zaidejas['ppokytis'] = $a->children(3)->plaintext; $zaidejas['tskaicius'] = $a->children(4)->plaintext; $zaidejai[] = $zaidejas; } } //pašalinam nereikalingus masyvo elementus (lentelės heading'us) unset( $zaidejai[909] ); unset( $zaidejai[808] ); unset( $zaidejai[707] ); unset( $zaidejai[606] ); unset( $zaidejai[505] ); unset( $zaidejai[404] ); unset( $zaidejai[303] ); unset( $zaidejai[202] ); unset( $zaidejai[101] ); unset( $zaidejai[ 0 ] ); //sutvarkom array keys $zaidejai = array_values( $zaidejai ); //pažiūrim gautą masyvą echo '<pre>'; print_r( $zaidejai ); echo '</pre>'; ?>
     
    Štai dar vienas pavyzdys, kuriame gauname filmo reitingą iš imdb.com:

    <?php //simple html dom biblioteka include('simple_html_dom.php'); //filmo url $url = 'http://www.imdb.com/title/tt0485947/'; //gauname svetainės html $html = file_get_html($url); //gauname filmo reitingą $ratio = $html->find('span.rating-rating', 0)->plaintext; echo $ratio; ?>
     
     
    Pabaigai, noriu paminėti, kad su web scrapping galima sukurti gausybę naudingų ir niekam nekenkiančių dalykėlių, tačiau su juo galima pilnai pavogti turinį is RSS srauto ar iš paprasčiausios svetainės. Bet kaip tai padaryti - susigalvokite patys.
     
    Ir tikiuosi, jog jums patiko, bei buvo naudingas pirmasis mano straipsnis uždarbis.lt forume :)
  18. Patinka
  19. Patinka
    Lapinskis sureagavo į Arvydas css input stiliaus pritaikymas   
    ir kaip jūs gaunate užsakymus :blink:
    elementariausių dalykų nemokate, siaubas :|
  20. Patinka
    Lapinskis sureagavo į Arvydas Mokymosi tikslais atlieku nedidelius PHP/CURL darbelius   
    galiu duoti šiaip darbelio bendram supratimui pagilinti, jei tikrai nori?
  21. Patinka
    Lapinskis sureagavo į Arvydas Mokymosi tikslais atlieku nedidelius PHP/CURL darbelius   
    darbelis pakankamai sudėtingas duotas, panikos veide nesimatė ^_^ turėtų įveikti...
  22. Patinka
    Lapinskis sureagavo į Arvydas Ar įmanoma išgauti failo svorį iš zippyshare.com?   
    rašo visi, nes siūlo tau lengvesnį variantą. Kodėl tau jis netinka ir kodėl būtent tiesiogiai reikia nuskaitinėti tą dydį?
  23. Patinka
    Lapinskis sureagavo į Arvydas Swedbank. Grinujų pinigų įnešimas   
    tokiais atvėjais reikia iškarto skambinti ant bankomato esančiu numeriu ir pranešti apie "nutikimą", tada nueisi į banką ir parašysi pareiškimą. Kai bankomate bus aptikta atlikusių pinigų atgausi juos. Jei nebus, rūkysi.
     
    Koks bankomato adresas, kad neužsirauti ant tokių?
  24. Patinka
    Lapinskis sureagavo į Arvydas paprasčiausi vaistai   
    1. Mezym
    2. nežinau, neprireikė (alaus gal :P )
    3. Eritromicin
  25. Patinka
    Lapinskis sureagavo į Arvydas Neatsidaro bagazine   
    sėdynes galines atversk ir įlindęs pažiūrėk ar trosiukas nutrūkęs ar spyna prasukta. Jei ką su atsuktuvu turėtum atidaryti iš vidaus
×
×
  • Pasirinkite naujai kuriamo turinio tipą...