Cum pot sa copiez o lista de produse de pe un site pe altul

Trebuie sa predau o lucrare de licenta iar in lucrare trebuie sa folosesc limbajul java.
Lucrarea mea se bazeaza pe ideea de a preula 40 de produse de la un site colaborator (cele 40 de produse trebuie preluate cu tot cu imaginea , pretul si numele acestuia) si sa le copiez pe siteul meu.
Nu stiu de unde sa incep , nu stiu denumirile folosite pentru acest domeniu, nu stiu daca se numeste fetching sau web scraping, ce stiu e ca trebuie sa folosesc Json si api , that’s all =))). Este cineva dornic si cu timp liber sa imi explice macar pasii pe care ar trebuii sa ii urmez?
De codul sursa si de restul ma voi informa mai apoi. Macar sa stiu pasii si cu ce sa incep. Tyyyy!!

In primul rand trebuie sa intrebi indrumatorul de proiect aceste detalii, care sait, denumiri campuri, forma de conectare la acel sait sau la baza lui de date (folosesti date mock?). Daca nu ai unul impus iti faci tu unul mock, faci un API care trage datele, folosesti JSON pentru schimbul de date, etc… In al doilea rand, fara suparare, dar nu pot sa cred ca ai terminat facultatea si ai astfel de probleme :see_no_evil:

2 Likes

Cel puțin 2 metode:

  • exporti baza de date de la un site si o imporți dincolo
  • conectezi al doilea site la aceeași baza de date
1 Like

Adevarul este ca op-ul genul de student care s-a inscris la o facultate in domeniul it doar ca a auzit ca se castiga bine.
Si o sa fie cel mai suparat cand o sa afle ca a fost respins la interviu sau daca o sa se angajeze, o sa aiba un salariu de seminte la o posibila firma de apartament si o sa vedem peste 5 ani topic tot de la el in care o sa spuna ca nu face nimic acolo.

Ah, lucrare de licenta, iar tu cauti cuvinte cheie. Web scraping, ca sa raspund la intrebare. Dar, zau, nu e de tine domeniul.

1 Like

Vă mulțumesc tuturor că purtați grija viitorului meu , unu la mana nu m-am exprimat corect prin “lucrare de licenta” ceea ce este defapt , citez “lucrare de portofoliu pentru examen practic”, prin licenta voiam sa ma refer la faptul ca este pentru licenta nu pentru master , sunt anul 1 iar adresarea acestei intrebari nu a fost tocmai coeerenta la ora la care a fost pusa. Doi la mana sunt la inceput in domeniul java (sau cel putin lucrurile de baza) iar cu aceste raspunsuri, pe care le-am primit, mi-ati raspuns la intrebarea “cat de ok sunt forumurile din romania” raspuns la care m-am asteptat ~Jalnic~. Cu toate acestea, sincer sa fiu ,chiar imi pare rau de firmele unde lucrati si de colegii ,celor care au raspuns cu un raspuns extrem de jalnic, pentru ca trebuie sa lucreze impreuna cu voi (pun pariu ca aveti glume de santier la voi la munca <3 ). Trei la mana nota 9 in bacalaureat la informatica imi spune ca sunt pregatit pentru acest domeniu de munca. Va multumesc pentru timpul acordat si sa speram ca “Romanica” o sa inteleaga ca ar trebuii sa ne ajutam aproapele chiar si daca eram la final de facultate si aveam lucrarea finala. P.S: luati exemplu de pe alte forumuri, in special din afara <3

2 Likes

Merci de raspuns !!

Deci stai, forumiștii români sunt nasoi că nu îți sunt ghicite gândurile? :pensive:

Dacă expuneai problema ta pe stackoverflow probabil topicul ar fi fost închis pe motiv de “întrebare prea vagă/generică”. Nu te ajută cu absolut nimic să fii arogant, problema ta este atât de simplă încât e normal să atragă astfel de reacții.

1 Like

Nu am spus ca toti sunt nasoi , doar cei care puteau sa intrebe sau sa imi explice ca e vaga intrebarea si trebuie sa o detaliez ,eu am pus o intrebare daca nu putea cineva sa raspunda ,nu ma suparam ,dar cand deja o dam pe mistouri si glume de genul pot sa aprob ca majoritatea respetciva e nasoala

Man, daca si cu cineva faci asa fata in fata s-ar putea sa ti-o iei asa ca aici. In loc sa scrii acel text ca bla bla bla forumurile din Romania sunt nasoale, mai bine dadeai edit la post si clarificai.

Te asigur ca si pe forumurile din strainatate scriai asa cum ai scris aici erau aceleasi reactii. Pentru ca nimanui nu-i place aroganta si nesimtirea.

In loc sa ignori restul de raspunsuri, ai preferat sa intri in balacareala.

Nu cred ca exista vreun proiect de facultate/licenta care sa-ti ceara sa faci scraping. E o improvizatie folosita cel mult in joaca.

Mai degraba e vorba de o intregrare cu un site tert, ce-ti ofera (gratis sau contra-cost) un API (json sau whatever) pe care-l poti interoga.

  • Poate trebuie tu sa dezvolti si acest sistem tert si sa gandesti cum ai putea oferi altuia un asemenea API.
  • Poate e suficient sa instalezi un magazin online gratuit care sa ofere si un astfel de API si sa te conectezi apoi la el.
1 Like

Păi ți-ai cam răspuns singur.
Site-ul care are datele are nevoie de un API.

Adică când se accesează din browser sau de la alt server example.com/api/produse
răspunsul să fie in format JSON.

Se numește http request sau AJAX request

1 Like

Man, raspunsul tau la intrebarea mea a fost unul arogant si nesimtit. La fel cum si eu puteam sa editez intrebarea si tu puteai sa treci peste ea sau sa incerci sa imi raspunzi cum si altii au putut, dar din pacate totul se rezuma la a injosii pe cel care stie mai putin sau care nu au la fel de multa experienta.Si nu poti sa zici ca nu a fost arogant si nesimtit raspunsul din moment ce mi-ai facut comparatiile alea cu salariul si cu locul de munca. Primesc raspuns arogant si nesimtit ? Dau raspuns arogant (ca nesimtit nu cred ca a fost). Pe ideea de “dai ce primesti”. Sa ne auzim cu bine <3

Aa ok, deci primul pas ar fii ca siteul sa aiba un API iar mai apoi sa trec in programarea prorpiu zisa a codului ?
API-ul este integrat automat in cod sau trebuie sa il integrez eu ? Daca trebuie sa il integrez eu, cum ar trebuii scris in cod ? adica cum este tagul “img src=“img.jpg”” in html cum este "tagul " de integrare in java ?

Ce-i aia “API-ul este integrat automat in cod”? Care cod? Ce-i aia “tag de integrare”? Cum iți imaginezi tu că “integrezi” java cu html? O mare parte din intrebările tale sunt absolut lipsite de orice logică și dau impresia că te-ai înhămat la o chestie despre care nu știi nimic.

Ce vrei tu se face prin simularea unui request http, cum fac browserele. Deci din java vei initia un http request (sper că știi ce-i aia), vei primi un raspuns intr-un format oarecare (html, json, whatwever), raspunsul il parsezi corespunzator, extragi datele care te intereseaza, dupa care introduci acele date intr-o baza de date. Mai simplu de atat nu se poate explica.

LE: BTW, sper ca nu faci confuzie între java și javascript.

2 Likes

cel mai probabil nu vei avea acces la un api. si atunci o sa fie nevoie sa faci scaping. adica vei parcurge fiecare pagina de prosdus in parte si vei prelua informatiile gasite acolo.
nush exact ce librarii pt parsare xml exista in java dar sunt sigur ca sunt, probabil ai putea sa folosesti ceva deja existent. dar tot vei fi nevoit sa scrii regulile pt fiecare informatie preluata (o sa ai nevoie de xpath si/sau de selectori css).

ps: api
ps2: daca spune ca trebuie sa folosesti un api… poate se gandesc la un site care ofera acces la un api? in cazul asta nu mai este scrapping si nici n-o sa ai nevoie de xpath sau selectori css.

1 Like

Vreau fundă!

Merci de raspuns , din cate vad se poate sa nu se raspunda la misto.
Daca esti baiat cuminte iti dau si un cadou sa ai pe ce sa pui funda :3

Nu fac confuzie =))) Probabil trebuia sa scriu cu bold ca "Nu StIu De UnDe Sa InCeP sAu Ca HaBaR nU aM dE aCeSt DoMeNiU’ , ca daca stiam nu puneam intrebarea <3 merci oricum de clarificari