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 į piotras Alkoholio abstinencija   
    dvi dienas jei neikalu trecia jau reikia ikalt nes stoga biski rauna ir delto nesiparinu nes man gerti patinka :D
    vienintelis minusas atchodai baimes jausmai kosmarai vaidenimasis geriausia tada padeda dumai nujama ir nebebuna tokiu atchodu prabundi beveik zvalus o daugiau vien pliusai naujos pazintis kurios labai pravercia ir linksmai praleistas laikas :)
    gyvenk linksmai bet trumpai nes vistiek mirsi bent jau busi gerai laika praleidias :D
  2. Patinka
    Lapinskis gavo reakciją nuo Juodasiskatinas Gauti puslapio source   
    Daryk tarkim 30 sekundžių tarpelius tarp kiekvienos užklausos. Dar gali padaryti, kad scriptas darytų pauzes 30-40 sec intervale. Nustatyk http ref kreipdamasis į svetainę. Mastyk logiškai, gi turi apsimesti interneto naršykle kad neblokuotų... Nes nu "Vieną dieną 200, kitą 200, trečią 200 ir taip per savaitę?" nesąmonė visiška :)
     
    Ir... vogsi turinį? Nes kitaip tokį didelį užklausų kiekį sunku paaiškinti :)
  3. Patinka
    Lapinskis sureagavo į theScientistAdam Paypal surišimas su php   
    Tai kiek žinau, kai daromas bendravimas su PP tarp puslapio, tai būna 2 pagrindiniai psl.
    1. Iš kurio išsiunčiama užklausa su gavėjo, mokėtojo ir bet kokiais papildomais duomenimis
    2. Kuris priima užklausą grįžusią atgal iš PP, sėkmingo apmokėjimo atveju.
     
    Tai pirmąjam puslapyje manau pats gali sugalvoti kodą, kaip padaryt, kad kaskart atliekant užklausą random būtų įdedamas gavėjo email.
     
    O antrąjam puslapyje, kuris priima užklausą iš PP jau ten su ja galima daryt ką nori.
     
     
    Aš pats kol kas dar nieko su PP nedariau, tik skaičiau dokumentaciją. Po kokių 2 savaičių žadu savo TVS implementuot šitą dalyką, tada daugiau galėsiu papasakoti, manau (:
  4. Patinka
    Lapinskis gavo reakciją nuo elcoqq Dėl el.parduotuvės   
    Opencart
  5. Patinka
    Lapinskis sureagavo į laimonas123 [LT] KWK.LT Surf 24/7 [#1]   
    Žinok, ne šiam forume reklamuok beverčius CS projektus. :)
  6. Patinka
    Lapinskis sureagavo į theScientistAdam C++ sudetingas skaitymas is failo, (skubiai) plz padekit   
    nežinau tiksliai kaip nuskaitoma c++ iš failo, bet jei įmanoma eilutėm, tai nusiskaitai tą eilutę, kurios reikia į string'ą ir ant jo naudoji funkciją
     
    nauja_eilute = substr(eilute, 11, 5);
     
    čia eilutė - nuskaityta eilutė;
    11 - pirmas simbolis, kurio reikia;
    5 - kiek simbolių nuo 11 reikia nuskaityti
     
    reikia includint #include <string>
  7. Patinka
    Lapinskis sureagavo į SarasJ Css Nusisukes 90 laipsniu!   
    tiesiog pasisuk monitoriu 90 laipsniu kampu kai zaidi. :)
  8. Patinka
    Lapinskis gavo reakciją nuo MatasR nuo starto turi praeiti 4h   
    Na, manau norint įgyvendinti šį dalyką galima "išrasti" įvairių būdų. Man pirma mintis šovė su http://php.net/manual/en/function.strtotime.php funkcija :) pasiskaitinėk. Tik žiūrėk, kad tavo data tinkamai atpažintų funkciją, o jeigu ne, tai su php pasimodifikuok tiek, kad atpažintų tinkamai :)
     
    p.s. Faito būdas tai pieva kažkokia yra...
  9. Patinka
    Lapinskis sureagavo į FLSHS Ooops... Sorry you got be hacked   
    Neturiu informacijos kas ivyko, bet logiskai mastant gaunasi taip:
     
    Jeigu buvo nulauztos tik Wordpress svetaines ir daugiau nieko, tai kuom kaltas hostingo tiekejas? Tiekejas neisipareigoja atnaujinti jusu svetaines programinio kodo ir skriptu. Jeigu butu nulauztas visas serveris, tai visos svetaines butu su tokiais uzrasais - o tada jau butu kaltas hostintojas.
     
    Atsirado bugu, nusiskanavo kas ant wordpress ir mass injection.
    Svetaine gali hostinti bet koks hosteris ir nuo naujausiu skyliu skriptuose jusu niekas neapsaugos jei ju uzlopymu nepasirupinsite patys.
  10. Patinka
    Lapinskis sureagavo į Adrijus Linksmybės   
    nematau kaip ji.lt (bendrinis zodis) svetaine kertasi JI zurnalu, ir kur pasak laisko yra noras pasipelnyti is ju prekinio zenklo.
     
    informuok kaip seksis derybos ir kokia pozicija uzimsi, visiems manau bus idomu ir naudinga.
     
    Patentu biure is vis rodo, kad ju prekinis zenklas sustabdytas 2006-11-14: http://www.vpb.lt/db/rezult3.php?appnum=96-2752.
     
    o naujas pratestas 2008-06-16 (paraiskos padavimo data 2007-09-03): http://www.vpb.lt/db/rezult3.php?appnum=2007%201770.
     
    o domenas ir registruotas i tarpa 2007-03-16, kai nebuvo isigaliojes antras prekinio zenklo patentas.
  11. Patinka
    Lapinskis sureagavo į Leader Ooops... Sorry you got be hacked   
    Kai zvengiau... :D kol nepamaciau kad mano svetaine irgi nulauzta :angry:
  12. Patinka
    Lapinskis sureagavo į ESC Foto ikelimo ir vertinimo sistema su facebook   
    Nemokamai negausit ;D
  13. Patinka
    Lapinskis gavo reakciją nuo ZTG Prekiu katalogas ant PHP   
    Pasiimk kokį padarytą admin UI ir normalų php framework (pvz Codeigniter) - bus tikrai maloniau ;)
  14. Patinka
    Lapinskis sureagavo į saknis Assembler   
    Kas cia darosi, protingu klausimu ir atsakimu pasirode
  15. Patinka
    Lapinskis sureagavo į OxidenT Amžiaus cenzas   
    Man Atrodo, kad jis jau būtinas šiam tinklalapiui...
     
    Aš manau jeigu būtų įvestas amžiaus cenzas tikrai sumažėtų apgavysčių, kurių šiame forume netrūksta. Ir nepasakokit pasakų, kad tai nieko nepakeis, dar ir kaip pakeis. Gerai esu pastebėjęs , kad daugiausia "scamerių" amžius yra iki 16 metų.
    2.Sumažėtų tokių durnų temų kaip šita: http://www.uzdarbis.lt/Siulau-bendradarbia...ti-t141854.html
    ir daugelį panašių temų.Taip aš suprantu , kad tokios temos suteikia džiaugsmo, bet paskui suvoki , kad tai tik šiukšlinimas.
    3.Kalbant apie lažybas, bent jau man asmeniškai gaila vaikų , kurie pradeda lošti iš tėvų pinigų naudodamiesi jų arba nupirktais pasais. Įvedus amžiaus cenzą, jus nebeskatintumėt vaikus lošti, kur dabar tai puikiausiai darot, nes ši tema "Lažybos ir kiti azartiniai žaidimai Subforumai", tikrai skatina pabandyti tai.
    4. Jeigu būtų įvestas amžiaus cenzas, keistųsi forumo "veidas". Į forumą pritrauktumėt rimtesnius žmones. Man asmeniškai labai gaila ,kad baigia numirti ši tema "investicijos".
    Kaip taip padaryti?
    Imti asmens tapatybes kopijas.Aišku tai reikalaujantis daug investicijų ir laiko, bet aš bent jau asmeniškai neprieštaraučiau sumokėti, koki tai mokestį (mėnesinį mokestį).
    Apibendrinant:
    Visa tai laikui bėgant žmones įvertins ir tikrai , kaip minėjau pasikeistų forumo veidas. Atsirastų rimtesnių žmonių, būtų didesnės pajamos ir iš tų gautų pajamų pavyzdžiui išvystytumėt savo laikraštį ar žurnalą.
    Taigi, amžiaus cenzas-didelis žingsnis į priekį,o ne atgal..........................................
  16. Patinka
    Lapinskis sureagavo į Gpoz Dizainai nemokamai   
    Atiduodu keletą niekur nepanaudotų dizainų. Dizainai buvo kurti jau senokai, iš jų nieko gero, nemanau, kad jie kažko ypatingo verti, tai, kad nedūlėtų psd failai kompe, juos atiduodu. Karts nuo karto papildysiu temą naujais dizainais.
     
    Vardan tvarkos, neterškime temos pranešimais. Ačiū.
     
    Spauskime ant paveiksliukų norėdami padidinti, o vėliau ir atsisiųsti! (norint atsisiųsti spauskit ant nuorodos, kuri yra paspaudus ant paveiksliuko, šalia komentaro)
     
    http://i.minus.com/kTEuRdUyMZBH4.jpghttp://i.minus.com/k8tiSiBEa6KsY.jpghttp://i.minus.com/kbLu6QPnJR7Jh.jpg http://i.minus.com/kulF4jLYB9l5a.jpg
     
    http://i.minus.com/kuTuhmEl77E0E.jpg http://i.minus.com/kmFeBrZhloqvM.jpg http://i.minus.com/kbdQHcCxOAjLj8.jpg http://i.minus.com/kxmqYhXFkg9Dp.jpg
     
    http://i.minus.com/kjArWprZg8WXx.jpg
  17. Patinka
    Lapinskis gavo reakciją nuo korner 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
    Lapinskis gavo reakciją nuo korner 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 :)
  19. Patinka
    Lapinskis sureagavo į Silke [Pasidalinu] Youtube vaizdelio informacija   
    Nagi, žmonės, nesikankinam... Pridedam ?alt=json, gaunam atgal gražų JSON'ą ir išsikoduojam į paprasčiausią objektą ar masyvą su json_decode() :)
  20. Patinka
    Lapinskis gavo reakciją nuo korner 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 :)
  21. Patinka
    Lapinskis sureagavo į twea "Vidutinybė"   
    Nesutinku, kad jei žmogus vidutiniškai mokosi, ar gauna vidutinį atlyginimą - jį jau galima vadinti vidutinybe. Mačiau pirmūnų, su kuriais nėra apie ką pasikalbėti, o mačiau ir padaužų, nesugebančių nelikti antriems metams, kurie yra fantastiškai įdomūs, charizmatiški, ir protingi. Gal nevisiems tinka švietimo sistema, gal nekiekvienam hiperaktyviam paaugliui skiriama pakankamai reikalingo dėmesio. Žinoma mokytis reikia, kitaip nesakiau ir nesakysiu, bet mokytis reikia toli gražu ne tik to, ko moko vadovėliai ir mokytojai - to norint išaugti įdomia asmenybe, patikėkit, neužteks ;) Mokykla kaip tik ir augina vidutinybes.
     
    Manau reikia žvelgti gerokai plačiau - pasitaiko, kad beveik visai pajamų neturintis žmogus yra toks, iš kurio labai daug būtų galima pasimokyti - jis tiesiog orientuojasi į dvasinį gyvenimą (dvasingumas nėra tapatu religingumui). Mano mėgstamas pavyzdys - budistų vienuoliai. :) Jie neturi praktiškai nieko, o vis dėlto - jie ne tik, kad ne vidutinybės, bet tiesiog šviesuliai. Na taip, gal ne visi, bet vis dėlto - tai pavyzdys, kaip materialus pasaulis nieko nelemia. Tie žmonės tiek dirba su savimi, savo protu, savo kūnu, savo jausmais, kad galiausiai mes šalia jų atrodome kaip neandartaliečiai - visiškai nekontroliuojantys nei to ką kalbam, nei savo judesių, nei kūno poreikių... O jie gali medituoti savaitėmis, gerdami tik vandenį ir nuodus (!) ir likdami sveikutėliai. Arba stovėti ant vienos kojos kelias valandas. :D Na nežinau, sakykit ką norit, bet aš mielai tokiam vienuoliui rytą/vakarą kojas prausčiau, kad tik jis papasakotų man kvailai, bent kelias savo paslaptis - kaip jis toks romus, ir toks stiprus.
     
    O mes kuo toliau, tuo labiau virstame materialistais, ir nors viena vertus, galima teigti kad tai normalu - kita vertus - negalima pamiršti apie harmoniją. Ir kai žmonės visiškai pamiršta savo kūną, savo sielą ir tik "kala" litus - jie išduoda save. Ir, tiesą pasakius, šiais laikais aš vidutinybe būtent ir pavadinčiau tokį pamišusi darboholiką, litų kaliką, kuriam galvoj tik karjera, turtai, kuris neturi laiko šeimai, draugams, pomėgiams, jau nekalbant apie stabtelėjimą pasižiūrėt kaip žvirbliai pešasi dėl trupinio :) Nes tokių žmonių yra masės. Ir čia matyt nemažai tokių, galit mestelt akmenį kitą, nebijau, nes manau kad gyvenimas turi kur kas daugiau sudedamųjų dalių nei materialiniai turtai, o ar reinkarnacija bus - neįrodyta. :)
    O tas, kuris turi ir kitų siekių, galvoja ne tik apie milijonus, bet ir apie savo savijautą, jausmus, siurprizą mylimam žmogui, laisvalaikį, asmeninį tobulėjimą (nekalbu apie karjerą, kalbu apie savirealizaciją, kūrybą, saviraišką - paiešką to, kas tikrai yra tavo ir tau), lyrinį nukrypimą, ekspromtą vidury dienos - gal ir nėra toks turtingas finansiškai, bet gyvena turtingesnį gyvenimą, ir dažniausiai yra laimingesnis. :)
     
    O dar - konformistas, ar nekomformistas? Jei esi tas, kuris matydamas neteisybę drąsiai pasakys: "jūs kaip norit, bet čia nesąmonė, aš noriu kad būtų kitaip" - ir dar ne tik sukritikuos, bet ir imsis ieškoti sprendimo - tada tikrai nesi vidutinybė, visiškai nesvarbu pažymiai, atlyginimas, batų firma ar šukuosena. Esi stipri asmenybė, ir bet kada gali tapti revoliucionieriumi - žinoma geriau be šautuvų. :) Greičiausiai jau mokykloj spėjai užlipt ant stalo, ir karštai paprieštaraut mokytojui, o jei dar ne - nepamiršk, kad savyje nešiojiesi ugnį, kuri gali uždegti daug ką, ir kurios nereikia slopinti - ją reikia išnaudoti protingai. Nekonformistų visada reikia - būtent jie pradeda griauti pasenusias sistemas, kartais ta pradžia būna tik karšta kalba, kartais - kumštis į stalą, bet esmė yra tame, kad be šių žmonių greičiausiai neįvyktų nieko - visi kiti tiesiog nedrįstų, nutylėtų, pabijotų. :)
     
    Tad mano galva - dešimt pirmūnų gali būti vidutinybės, lyginant su vienu vidutiniškai besimokančiu nekonformistiškai nusiteikusiu, nedisciplinuotu, panirusiu kūrybon gitaristu (ar programeriu/dizaineriu/skaitytoju etc.)
    Lygiai taip pat - dešimt verslininkų gali būti "neverti" vieno pamišusio dėl savo projekto / studijų / hobio susivėlusio žmogaus X. Nes viską lemia visai ne kostiumas ar išsilavinimas, ką šiais laikais gali turėt bet kas. Ir ne mašina (nors ir Maserati). Tai nieko nereiškia, mirsim visi vienodai neturtingi, tik vargu, ar tas, kuris praarė visą gyvenimą, bent turės ką atsimint.
     
    Reziume: apskritai nepriimu sąvokos "vidutinybė". Kiekvienas yra unikalus - mažų mažiausiai - anatomiškai (žinoma graudu, kai išskirtinumas tik toks). Ir kuo žmogus turi daugiau hobių (hobiu laikau bet kokią veiklą, kur galima tobulėti: muzikavimas, menai, sportas, verslas, kolekcionavimas - viskas išskyrus beprasmius laiko žudymus, kurie neduoda realios naudos) - tuo jis yra unikalesnis ir įdomesnis. Natūralu - juk kuo daugiau žmogus domisi, užsidega, mokosi - tuo jis yra dvasiškai turtingesnis ir intelektualesnis.
  22. Patinka
    Lapinskis sureagavo į Silke html botas,   
    HTML savyje neturi jokios logikos, mąstymo, ji skirta tik elementams/jų išdėstymui aprašyti. Dar reiktų žinoti, ir kokio tau boto reikia...
  23. Patinka
    Lapinskis gavo reakciją nuo minijus Lengvai valdoma tvs skirta daugiakalbiam puslapiui   
    Wordpress + WPML (mokama versija už 79$ USD).
  24. Patinka
    Lapinskis gavo reakciją nuo minijus Lengvai valdoma tvs skirta daugiakalbiam puslapiui   
    Wordpress + WPML (mokama versija už 79$ USD).
  25. Patinka
    Lapinskis sureagavo į Flow Versijų kontrolės sistemos   
    Pats gan neseniai pradėjau naudoti Git ir esu patenkintas.
    Dabar net neįsivaizduoju kaip anksčiau galėjau darbuotis be versijų kontrolės sistemos. Tiesiog budavo baisu, kai turėdavai keletą direktorijų skirtingoms versijoms, nekalbu net apie tai kai reikėdavo surasti kur koks pakeitimas buvo padarytas.
×
×
  • Pasirinkite naujai kuriamo turinio tipą...