Pereiti prie turinio

Ingmaras

Patvirtinti nariai
  • Pranešimai

    445
  • Užsiregistravo

  • Lankėsi

  • Atsiliepimai

    100%

Reputacijos išklotinė

  1. Patinka
    Ingmaras sureagavo į Lapinskis 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 :)
  2. Patinka
    Ingmaras sureagavo į Silke mysql_num_rows   
    Užtektų paskaityt PHP dokumentaciją, kad suprastum ką reiškia. Nepavykusios užklausos atveju, mysql_query grąžina FALSE :)
  3. Patinka
    Ingmaras sureagavo į TDB Kuo dirbote užsienyje?   
    1. Norvegija
    2. Pagalbinis slidinėjimo centre, o kai baigėsi kontraktas, pasiūlė kitą darbą - liepė tualetus ir kavines valyt naktim. Pradėjau ir mečiau, neapsikenčiau pats savęs, kad tai darau.. (keikiau visą pasaulį) Per vargus radau kitą darbą, projektuotoju (turėjau patirties LT), už pirmą projektą gavau 5000 lt (5 dienas dariau). Tada ir pajudėjo ledai.. Mečiau ir šitą darbą, įkūriau savo verslą, dabar mano klientai tie, kurie man liepė tualetus valyt..
    3. Darbą gauti buvo sunku, lenkai už puse kainos visur sutinka dirbti..
    4. Neparsivežiau nieko, nes dar negrįžau :) vežti bus ką.. B-)
     
    Norintiems išvykti:
    5. Ar būtumėte išvykęs iš Lietuvos, jei būtumėte žinojęs kas Jūsų lauks?
    5. Ne, per vienus metus tokius kančios kelius praėjau, kiek per visą gyvenimą nekentėjau. Norit būti laikomi antrarūšiais, vergais ar samdiniais (pagražinau), pirmyn į kitas šalis..
  4. Patinka
    Ingmaras gavo reakciją nuo lasickui Varom i užsieni ?   
    Lietuvos Respublikos Konstitucijos 25 straipsnis
     
    Žmogus turi teisę turėti savo įsitikinimus ir juos laisvai reikšti. Žmogui neturi būti kliudoma ieškoti, gauti ir skleisti informaciją bei idėjas. Laisvė reikšti įsitikinimus, gauti ir skleisti informaciją negali būti ribojama kitaip, kaip tik įstatymu, jei tai būtina apsaugoti žmogaus sveikatai, garbei ir orumui, privačiam gyvenimui, dorovei ar ginti konstitucinei santvarkai. Laisvė reikšti įsitikinimus ir skleisti informaciją nesuderinama su nusikalstamais veiksmais - tautinės, rasinės, religinės ar socialinės neapykantos, prievartos bei diskriminacijos kurstymu, šmeižtu ir dezinformacija.
  5. Patinka
    Ingmaras sureagavo į dEVooX Jūsų programavimo įkainiai   
    :) pasakysiu kitaip.. uz tavo pamineta suma "i rankas" as dar galvociau ar eit dirbt Lietuvoj. O siaip as gyvenu ir dirbu minetos imones padaliny Svedijoj. Bet visos mano pries tai destytos mintys yra Lietuvos salygomis. Beje, Lietuvoj yra ne vienas darbdavys, kuris programuotojam (aisku, kazko vertiem) moka tokius ir daug didesnius atlyginimus.
  6. Patinka
    Ingmaras gavo reakciją nuo Mėgstu Paskaitų/Pamokų lankymas   
    Deja, bet lietuvos vidurinių mokyklų švietimo sistema nesuteikia visiškos laisvės pasirinkti tai, ko nori, nes yra nemažai privalomų dalykų..
  7. Patinka
    Ingmaras gavo reakciją nuo lasickui Varom i užsieni ?   
    Lietuvos Respublikos Konstitucijos 25 straipsnis
     
    Žmogus turi teisę turėti savo įsitikinimus ir juos laisvai reikšti. Žmogui neturi būti kliudoma ieškoti, gauti ir skleisti informaciją bei idėjas. Laisvė reikšti įsitikinimus, gauti ir skleisti informaciją negali būti ribojama kitaip, kaip tik įstatymu, jei tai būtina apsaugoti žmogaus sveikatai, garbei ir orumui, privačiam gyvenimui, dorovei ar ginti konstitucinei santvarkai. Laisvė reikšti įsitikinimus ir skleisti informaciją nesuderinama su nusikalstamais veiksmais - tautinės, rasinės, religinės ar socialinės neapykantos, prievartos bei diskriminacijos kurstymu, šmeižtu ir dezinformacija.
  8. Patinka
    Ingmaras sureagavo į Sul Varom i užsieni ?   
    Deja, bet užsienyje taip nėra. Kad ir kaip bebūtų gaila, bet kuo labiau vengiu tokių "brolių", nes per du metus tokių veikėjų sutikau, kai, per 20 metų, Lietuvoje net negalvojau, kad tokie egzistuoja.
     
     
     
     
  9. Patinka
    Ingmaras gavo reakciją nuo lasickui Varom i užsieni ?   
    Lietuvos Respublikos Konstitucijos 25 straipsnis
     
    Žmogus turi teisę turėti savo įsitikinimus ir juos laisvai reikšti. Žmogui neturi būti kliudoma ieškoti, gauti ir skleisti informaciją bei idėjas. Laisvė reikšti įsitikinimus, gauti ir skleisti informaciją negali būti ribojama kitaip, kaip tik įstatymu, jei tai būtina apsaugoti žmogaus sveikatai, garbei ir orumui, privačiam gyvenimui, dorovei ar ginti konstitucinei santvarkai. Laisvė reikšti įsitikinimus ir skleisti informaciją nesuderinama su nusikalstamais veiksmais - tautinės, rasinės, religinės ar socialinės neapykantos, prievartos bei diskriminacijos kurstymu, šmeižtu ir dezinformacija.
  10. Patinka
    Ingmaras gavo reakciją nuo lasickui Varom i užsieni ?   
    Lietuvos Respublikos Konstitucijos 25 straipsnis
     
    Žmogus turi teisę turėti savo įsitikinimus ir juos laisvai reikšti. Žmogui neturi būti kliudoma ieškoti, gauti ir skleisti informaciją bei idėjas. Laisvė reikšti įsitikinimus, gauti ir skleisti informaciją negali būti ribojama kitaip, kaip tik įstatymu, jei tai būtina apsaugoti žmogaus sveikatai, garbei ir orumui, privačiam gyvenimui, dorovei ar ginti konstitucinei santvarkai. Laisvė reikšti įsitikinimus ir skleisti informaciją nesuderinama su nusikalstamais veiksmais - tautinės, rasinės, religinės ar socialinės neapykantos, prievartos bei diskriminacijos kurstymu, šmeižtu ir dezinformacija.
  11. Patinka
    Ingmaras sureagavo į SauliusK Studijos Škotijoje   
    Oxford'o minimalūs reikalavimai:
    Brandos Atestatas with an overall average of at least 9, with scores of at least 9 in the majority of subjects.
     
    Taigi, turi turėti praktiškai 9-10 ir kokį vieną kitą aštuonetą iš neitin svarbių dalykų, kaip kūno kultūra, dailė ar lietuvių k. ;)
     
    Pasakysiu atvirai - įstoti į Oxford undergraduate yra lengviau nei į SSE Riga. Žinau ne vieną ir ne du pavyzdžius, kai SSE Rigos atmesti ar į VU ekonomiką neįstoję žmonės išvažiavo į Harvard, Oxbridge, UPenn. Sutinku, kad į magistrą įstoti reikia būti išskirtiniu žmogum, tačiau į bakalaurą įstot nėra taip jau ir sunku ir tikrai nereikia būt olimpiadų prizininkų. Aišku, vien pabaigt mokyklos neužtenka - reikia vistiek turėt kuo pasigirt. Tavo atveju, jeigu turi su IT susijusią įmonę, dirbi freelancer'iu ar užsiėmi dar kokia susijusia veikla, gali laisvai pretenduot.
     
    Apskritai, stojimas į Oxbridge yra dažnai suvokiamas iškreiptai. Jie ieško ne jau pasiekusių studentų, bet tokių, kurie turi milžinišką potencialą tobulėti ir lipti karjeros/akademiniais laiptais. Dėl to tavo IQ, sugebėjimas greitai pasisavinti informaciją, darbas komandoje, lyderio savybės yra vertinamos žymiai labiau nei tavo dabartiniai pasiekimai ar pažymiai. Svarbu yra parodyti savo potencialą tiek motyvaciniame laiške, tiek per interviu. Jeigu IŠ TIESŲ esi labai gabus ir labai perspektyvus, Oxbridge tai pastebės ir pakvies studijuot:).
  12. Patinka
    Ingmaras gavo reakciją nuo lasickui Varom i užsieni ?   
    Lietuvos Respublikos Konstitucijos 25 straipsnis
     
    Žmogus turi teisę turėti savo įsitikinimus ir juos laisvai reikšti. Žmogui neturi būti kliudoma ieškoti, gauti ir skleisti informaciją bei idėjas. Laisvė reikšti įsitikinimus, gauti ir skleisti informaciją negali būti ribojama kitaip, kaip tik įstatymu, jei tai būtina apsaugoti žmogaus sveikatai, garbei ir orumui, privačiam gyvenimui, dorovei ar ginti konstitucinei santvarkai. Laisvė reikšti įsitikinimus ir skleisti informaciją nesuderinama su nusikalstamais veiksmais - tautinės, rasinės, religinės ar socialinės neapykantos, prievartos bei diskriminacijos kurstymu, šmeižtu ir dezinformacija.
  13. Patinka
    Ingmaras gavo reakciją nuo Mėgstu Paskaitų/Pamokų lankymas   
    Deja, bet lietuvos vidurinių mokyklų švietimo sistema nesuteikia visiškos laisvės pasirinkti tai, ko nori, nes yra nemažai privalomų dalykų..
  14. Patinka
    Ingmaras sureagavo į Creatium gal kas turi minciu kaip isleisti ebook`a savo kurybos?   
    O kas neramina?
     
    Jeigu aš viską suprantu taip, kaip yra, tai čia jokių sunkumų neturėtų būti. Apart pačios knygos parašymo, sukūrimo. Toliau belieka tik išsaugot PDF formatu ir dalinti, talpinti kur galima talpinti. Ar aš kažką ne taip suprantu?
  15. Patinka
    Ingmaras sureagavo į Cukrus Paskaitų/Pamokų lankymas   
    Motyvuojanti tema studijuoti Lietuvoje
  16. Patinka
    Ingmaras sureagavo į r5g verčiam į trupmeną.   
    100% * 2.01 = 201%, man taip atrodo.
  17. Patinka
    Ingmaras sureagavo į UnoDėdė Vhost.lt man vienam lūžęs?   
    Kol neveikė, parašiau jiem laišką. Kai veikė, gavau atsakymą:
     
     
     
    Arba viltis miršta paskutinė.. :) čia kaip su ta stikline vandens - pustuštė ar puspilnė vis dėlto yra toji pusė vandens pripilta stiklinė? :)
  18. Patinka
    Ingmaras sureagavo į Cukrus Mokslai Japonijoje   
    Nu jomajo, is kokios ruros tu truaki visa informacija? Mociute pasake? Filme matei?
    Ateina ir sapalioja kaip ten baisu ir sunku,o is kur informacija traukta tai nei pats nezino... Jei jau tu "primeti" kad viskas yra taip kaip tu sakai,tai nereiskia,kad viskas butent ir atitinka tavo fantazija.
  19. Patinka
    Ingmaras sureagavo į sigitas86 Vaikai, nevokit.   
    O tu ir nenorėk :)
     
    Klaidas padaro visi, bet jas pripažįsta tik didieji. - Montenis
     
    Tai vat :)
     
    Skaminti nescaminau ir vsio. :)
  20. Patinka
    Ingmaras sureagavo į Tom Prieš paleidžiant PASAULINĮ PROJEKTĄ   
    Nekreipk dėmesio į tokius ir tiek, juk pilną visur ir visada bus tokių išminčių, kurie patys nieko nėra sukūrę, bet už tat viską žino. :)
  21. Patinka
    Ingmaras sureagavo į Moneyerr Prieš paleidžiant PASAULINĮ PROJEKTĄ   
    Būtų juokinga jeigu nebūtų apmaudu, kad pasitvirtino mano manymas, jog paskelbus savo pranešimą sulauksiu panašių, tokio lygio svaisčiojimų visiškai ne į temą.
     
    Paprašiau atrodo paprasto dalyko, keletos protingų, PRAKTINIŲ patarimų. O ką gaunu? Manęs klausia, ar aš numanau kiek kainuoja teisiniai dalykai! Kaip galėčiau nenumanyti jeigu jau pradedamas vykdyti ženklo registracijos procesas!? Arba iš ko mokėsiu programuotojui.. Arba spelionės kokių investicijų reikėtų vienam ar kitam dalykui.. C'MON! Nenukrypkim eilinį kartą į pievas ir negaišinkim vieni kitų laiko! AČIŪ!
  22. Patinka
    Ingmaras sureagavo į Moneyerr Prieš paleidžiant PASAULINĮ PROJEKTĄ   
    Uždarbiečiai, vienas pats kuriu projektą pasaulinei rinkai, todėl tikrai nepamaišys jūsų pastabos, pasiūlymai ir šiaip protingos mintys.
     
    Į kokius dalykus atkreipti dėmesį ir ko nepamiršti prieš didijį startą, t.y. prieš projekto pristatymą plačiąjam pasauliui? Čia turiu omenyje ne pirminius dalykus prieš pradedant verslą, tokius kaip rinkos ir konkurencijos tyrimai, išlaidų, investicijų skaičiavimai, ilgalaikiai tikslai, plėtra ir t.t., o visus vėlesnius žingsnius po verslo plano susidarymo.
     
    Sutiksite, kad norint viską atlikti nepriekaištingai, svarbu apgalvoti kiekvieną, net smulkiausią ar net atrodytų elementariausią detalę.
     
    Idealu, jei atsiras žmonių, kurie jau susidūrė su tuo praktiškai ir pasidalins savo patirtimi.
     
    Sąrašas bus papildomas bei naudingas ir visiems kitiems, planuojantiems kurti ar jau kuriantiems pasaulinį projektą.
     
     
    * Vienas pirmųjų dalykų ką reikia pasidaryti po verslo plano susidarymo, tai prekinio ženklo registracija. Žingsnis, reikalaujantis nemažų investicijų, bet būtina registruoti, ir iš anksto, net prieš, pvz., skelbiant viešą logotipo konkursą.
     
    * Nepamiršti užsiregistruoti ne tik .com bet ir kitus pagrindinius domenus.
     
    * Nepagailėti pinigų ir samdyti tik profesionalius savo sričių specialistus: programuotoją, dizainerį ir kt. Būtina pasirašyti sutartis dėl sąlygų, darbų atlikimo terminų ir pan.
     
     
    Pradžiai tiek, pasidalinkite savo patirtimi!
  23. Patinka
    Ingmaras sureagavo į Loganas Studijos Škotijoje   
    Čia tavęs neįžeidinėja, tik į Oxfordą sunku patekti, gi jis vienas geriausių universitetų pasaulyje. Tad jei turi 8-netų ir nesi olimpiadų prizininkas, tai tikrai neįstosi.
  24. Patinka
    Ingmaras sureagavo į Cukrus Studijos Škotijoje   
    Eik tu juokdary....
    Oxfordo offeriai
     
    11kl pazymiai-be devynetu. 12 kl be devynetu ir 4 egzaminai su nemaziau kaip 95% rezultatu ir dar +98%~ pagal specialybe. Plius motyvacinis,kuriam turetum paminet,kiek metu jau imi prizines vietas olimpiadose,net nekalbu apie visokius projektus ir tt.
  25. Patinka
    Ingmaras gavo reakciją nuo Raulynas Kažkokia nesąmonė, padėkit.   
    Siūlyčiau ir kortelės numerį išimt iš screenshoto jei nebenori daugiau memberių... :)
×
×
  • Pasirinkite naujai kuriamo turinio tipą...