Pereiti prie turinio

[Reikia programuotojų pagalbos] Web scrapping naudojant JavaScript?


Rekomenduojami pranešimai

Sveiki,

 

Darau paskutinį kursinį projektą ir nusprendžiau daryti kažką, ko dar niekada neesu daręs - sukurti mobilią programėlę. Problema tame, kad nemoku nei vienos programavimo kalbos. o išmokti Java ar kažką panašaus neturiu užtektinai laiko. Gerai suprantu PHP ir esu gerai įvaldęs web front-end pusę: HTML ir CSS. Noriu sukurti programėlę, per kurią galėčiau prisijungti prie tam tikro išorinio tinklalapio ir atvaizduoti tam tikrą informaciją. Kadangi nemoku jokios normalios programavimo kalbos, programėlės developmentui nusprendžiau į pagalbą pasitelkti PhoneGap.

 

Kaip suprantu visą back-end reikėtų parašyti naudojant JavaScript, kuris man yra labai tamsus miškas. Viską ko man reikia galėčiau pats nesunkiai pasirašyti su PHP, bet kad ir kaip bebūtų gaila, PhoneGap palaiko tik JavaScript, HTML ir CSS. Kiek domėjausi, yra keletas metodų daryti web scrapingą naudojant JavaScript, bet net neįsivaizduoju kaip nuo ko viską pradėti. Kiek tyrinėjau internete, patį scrapingą padaryti neatrodo taip sudėtinga, bet kaip dėl prisijungimo? Man tai skamba kaip neįmanoma užduotis.

 

Programėlės struktūra nėra ypatingai sudėtinga ir super funkcionali. Funkcionalumas ir eiga skamba maždaug taip:

  1. Vartotojas paleidžia programėlę.
  2. Tikrinama ar yra interneto prieiga.
  3. Jei nėra interneto prieigos, vartotojui duodama perkrauti programėlę ir vėl tikrinama interneto prieiga.
  4. Jei yra interneto prieiga, atsiranda du laukeliai ir mygtukas.
  5. Į laukelius prašoma suvesti prisijungimo duomenis, tam, kad prisijungti į išorinį tinklalapį.
  6. Suvedus prisijungimo duomenis ir paspaudus mygtuką, duomenys nusiunčiami į tinklalapį, kad būtų įrašomi cookies arba session.
  7. Duomenys taip pat užkoduojami ir išsaugomi vartotojo įrenginyje.
  8. Programėlė patikrina ir patvirtina sėkmingą prisijungimą.
  9. Vartotojas nukreipiamas į vidinį puslapį, kuriame atvaizduojama tam tikra informacija iš išorinio tinklalapio pagrindinio puslapio.
  10. Tame vidiniame puslapyje yra atvaizduota informacija ir mygtukai į kelis vidinius puslapius.
  11. Vartotojas turi galimybę atidarinėti vidinius puslapius.
  12. Kiekvienas vidinis puslapis atvaizduoja reikalingą informaciją iš skirtingo išorinio tinklalapio puslapio.
  13. Vartotojui išėjus iš programėlės ir į ją sugrįžus, prisijungti iš naujo neprašoma.

 

 

Gal yra žmonių, kurie galėtų padėti ir užvesti ant kelio? Skolingas nelikčiau ir už gerą pagalbą galiu atsidėkoti finansiškai.

Ar aplamai ko aš noriu yra įmanoma?

 

 

Dėkoju

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jeigu moki PHP, tai gali pasidaryti API, iš kurio ir imtum visą reikiamą informaciją, o aplikacijoje tik atvaizduotum duomenis. Tuomet iš aplikacijos pusės tereiktų daryti užklausas į tavo API, o jis, padaręs reikiamus veiksmus, atiduotų atgal į apps'ą reikiamus duomenis. Schematiškai tai maždaug taip:

 

Aplikacija -> (padaro GET request'ą į tavo web serverį (t.y. į API)) -> Web serveris (PHP) -> (su CURL, phantomjs ar selenium'u - nesvarbu, padaro reikiamus veiksmus ir gauna reikiamą informaciją, su PHP) -> Web serveris atiduoda response'ą (pvz. JSON formatu) -> Aplikacija gauna paruoštus duomenis ir juos atvaizduoja

 

T.y. visus darbus perduodi APIui, o aplikaciją padarai tiesiog kaip to API client'ą (šiais laikais tokia praktika yra labai populiari, dėl labai daug priežasčių, bet čia jau kita tema). Viskas kaip ir simple, bet tau reikia pagalvoti ir apie optimizavimą, kad web serveriui nereikėtų pastoviai atlikinėti Login veiksmo (galbūt saugoti cookių state'ą ir siųsti request'us su jais), pagalvoti bent kažkiek apie saugumą (generuoti token'us request'ams, kad bet kas negalėtų padaryti bet ko) ir pan. Jeigu kažkas neaišku - bandyk klausti :)

Redagavo vitalikaz
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

  • Prisijunk prie bendruomenės dabar!

    Uždarbis.lt nariai domisi verslo, IT ir asmeninio tobulėjimo temomis, kartu sprendžia problemas, dalinasi žiniomis ir idėjomis, sutinka būsimus verslo partnerius ir dalyvauja gyvuose susitikimuose.

    Užsiregistruok dabar ir galėsi:

    ✔️ Dalyvauti diskusijose;

    ✔️ Kurti naujas temas;

    ✔️ Rašyti atsakymus;

    ✔️ Vertinti kitų žmonių pranešimus;

    ✔️ Susisiekti su bet kuriuo nariu asmeniškai;

    ✔️ Naudotis tamsia dizaino versija;

    ir dar daugiau.

    Registracija trunka ~30 sek. ir yra visiškai nemokama.

  • Naujausios temos

  • Karštos temos

×
×
  • Pasirinkite naujai kuriamo turinio tipą...