![]() |
Chirurgia endoscopică a hipofizei
"Standardul de aur" în chirurgia hipofizară îl reprezintă endoscopia transnazală transsfenoidală. Echipa NeuroHope este antrenată în unul din cele mai mari centre de chirurgie a hipofizei din Europa, Spitalul Foch din Paris, centrul în care a fost introdus pentru prima dată endoscopul în chirurgia transnazală a hipofizei, de către neurochirurgul francez Guiot. Pe lângă tumorile cu origine hipofizară, prin tehnicile endoscopice transnazale pot fi abordate numeroase alte patologii neurochirurgicale. www.neurohope.ro |
Inca o problema legata de parsarea unui site web...
Last Updated: Feb 11 2022 01:03, Started by
anz
, Feb 10 2022 15:36
·
0

#1
Posted 10 February 2022 - 15:36

Salutare tuturor.
Am pus acum ceva timp o intrebare aici despre cum as putea sa construiesc un parser pentru site-ul Devjob.ro, si ii multumesc celui care mi-a dat raspunsul. In prezent ma confrunt cu inca o problema, tot de parsarea unui site, de data asta ro.indeed.com Task-ul este in felul urmator: am nevoie sa culeg de pe acest site numai anunturile despre joburi din domeniul IT din ziua curenta. Pentur asta, daca aleg aceste filtre in pagina, se obtine urmatorul URL: https://ro.indeed.co...?q=it&sort=date Problema este ca eu cand fac request la acest URL din aplicatia mea Spring, in felul urmator: Jsoup.connect("https://ro.indeed.co...q=it&sort=date").get(); nu primesc acest document cu anunturile sortate dupa data, am verificat asta la consola, dupa ce am extras datele de anunturi, pe care le-am afisat cu System.out.println(). Se afisaza la consola cu totul altceva decat cele care sunt in pagina de la URL-ul repectiv. Imi spune si mie cineva, unde anume este gresit? De ce nu vine de la server exact documentul care se afisaza in browser...? Mai trebuie sa fac ceva setari, sau ce Doamne-iarta-ma mai trebuieste facut? Pentru ca jur ca mi-au dat de cap site-scrapperele astea, nu stiu ce sa le mai fac. Daca nu primesc documentul cu joburile sortate atunci toata aplicatia este egala cu 0, nu am cum sa caut prin toate paginile site-ului doar cele care imi trebuie mie (vreo cateva...) Multumesc celui care se oboseste sa citeasca, si mai mult daca si stie cum sa raspunda! |
#2
Posted 10 February 2022 - 17:42

#3
Posted 10 February 2022 - 19:05

Se pare ca intregul document este generat pe server cu tot cu js, vezi daca te ajuta poza asta, trebuie sa ajungi cumva la acel jobmap, alea sunt rezultatele sortate. |
#4
Posted 10 February 2022 - 19:19

Fisierele unui site se afla pe un server.
Comunicarea intre browser si server se face prin socket sau perechi de http request-response. Browserul trimite un request catre server iar acesta raspunde cu o resursa/informatie. In cazul de fata, nu exista o ruta separata care sa iti serveasca in raspuns doar un array cu rezultate, ci serverul asambleaza intreaga pagina (html, css si javascript) si o serveste intr-un singur raspuns, iar browserul ti-o afiseaza pe ecran. |
#5
Posted 10 February 2022 - 20:02

Fisierele unui site se afla pe un server. Comunicarea intre browser si server se face prin socket sau perechi de http request-response. Browserul trimite un request catre server iar acesta raspunde cu o resursa/informatie. In cazul de fata, nu exista o ruta separata care sa iti serveasca in raspuns doar un array cu rezultate, ci serverul asambleaza intreaga pagina (html, css si javascript) si o serveste intr-un singur raspuns, iar browserul ti-o afiseaza pe ecran. In urma acestui request se obtine un obiect Document, care bineinteles vrea sa reprezinte acel document HTML. Im momentul cand eu merg pe arborele DOM si selectez numele job-ului si compania ca sa il afisez la consola: SURPRISE !!!! se afisaza cu totul si cu totul alte job-uri, nu cele care apar in pagina din browser... INtrebarea mea este DE CE ??? aplicatia mea Jsoup nu obtine acel document HTML, care este de cuviinta sa se obtina...??? In al doilea rand nu am de ce sa parsez array-ul tau Javascript pe care l-ai scris mai sus deoarece toata informatia se gaseste in documentul HTML. In fogura atasata se poate vedea ca un element din acela <a> cu background galben reprezinta un anunt de job din pagina. Si in doc. acesta HTML intr-adevar anunturile sunt cele sortate, obtinute in urma filtrarii dupa data, asa cum se vede si in browser. Insa repet, aplicatia mea Java, dupa ce fac requestul la acest document NU il primesc pe acesta, ci altul, care are alte anunturi in pagina... Attached FilesEdited by anz, 10 February 2022 - 20:02. |
#6
Posted 10 February 2022 - 22:04

Daca accesez http://ro.indeed.com...?q=it&sort=date din Firefox, obtin niste rezultate.
Daca il accesez din Chrome Guest, obtin alte rezultate. Daca astept cateva minute si accesez din alt Chrome Guest, obtin alte rezultate. "E de la ei!" ![]() |
#7
Posted 10 February 2022 - 22:13

Daca accesez http://ro.indeed.com...?q=it&sort=date din Firefox, obtin niste rezultate. Daca il accesez din Chrome Guest, obtin alte rezultate. Daca astept cateva minute si accesez din alt Chrome Guest, obtin alte rezultate. "E de la ei!" ![]() Lasati-va de activitatile astea pana nu va cauta avocatii si/sau procurorii dupa caz |
#9
Posted 10 February 2022 - 22:51

#10
Posted 11 February 2022 - 01:03

interesant ca este onpircarie dat totusi le extragi continutul ce faci tu nu este un "parser html" ci un crawler care sa navigheze si sa culeaga date. Acum, cat de bucurosi o sa fie oamenii unde tu indrepti "robotul" e treaba lor, si daca simt ei va fi si a ta. Raspunsul la intrebarea "De ce" poate fi de simplul "javascript", pana la "site-ul ofera ce vrea, pe baza de cookies". Radu nu iti spune in nume de rau, Ca sa fie in ton cu concluzia ta, topicul se inchide, cu mentiunile: 1. Nu mai furati continut. 2. parserul deja exista, jsoup 3. ceea ce face ca problema ta sa tina de JAVA si metode specifice suportate de jsoup |
Anunturi
▶ 0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users