Convertire fisier HTML in fisier XML

Secţiune dedicată începatorilor.

Moderatori: Moderatori, Start Moderator

Mariusiky
Junior Member
Mesaje: 45
Membru din: Mie Iul 25, 2012 2:38 pm
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Mariusiky » Vin Sep 18, 2015 12:29 am

Birkoff scrie:ia vezi daca te ajuta asta (nu am folosit dar vad in exmeplu ca are echo $element->src (unde la tine in loc de src va fi elementul id)
http://simplehtmldom.sourceforge.net/
sau asta
http://htmlparsing.com/php.html
(am dat un search dupa html parser)


Ok, ideea e ca ma folosesc de simplehtmldom sa gasesc informatia de pe o pagina sursa dintr-un anumit div class id etc. dar eu as vrea sa reduc toata pagina sursa la un document XML care sa aiba doar numele claselor si al id-urilor in tag-uri fiind mai usor sa preiau informatia din acestea. Functia find() din simplehtmldom cauta exact in div-ul pe care il dau eu dar e destul de incomod pentru ca uneori nu aleg cum trebuie div-urile si nu imi preia informatia. M-am gandit sa transpun toata pagina sursa intr-un document XML de unde sa preiau cu cURL mult mai usor informatia. Probabil exista si alte metode doar ca nu gasesc una cat mai buna.

P.S Daca incerci site-ul diffbot[dot]com iti preia exact continutul text de pe o anumita pagina a unui site si as vrea sa fac un script care sa faca acelasi lucru la o simpla scanare a site-ului. Si nu imi dau seama cum il preia cand scaneaza pagina.



Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Birkoff » Vin Sep 18, 2015 9:03 am

Mariusiky scrie:
P.S Daca incerci site-ul diffbot[dot]com iti preia exact continutul text de pe o anumita pagina a unui site si as vrea sa fac un script care sa faca acelasi lucru la o simpla scanare a site-ului. Si nu imi dau seama cum il preia cand scaneaza pagina.


am dat sa vad ce extrage din linkul din pagina asta (din phpromania din forum, discutia curenta) si nu mi-a extras nimic... am mai incercat si alte pagini si la fel zice ca nu gaseste nimic.

din ce am observat eu la diffbot, parteaza pagina si extrage anumite taguri/id-uri si continutul lor dar nu are cine stie ce algoritm de parsare a paginilor.
personal, as folosi simplehtmldoom, as parsa pagina, as memora intr-un array id-urile si continutul acelor id-uri si apoi as incerca sa gasesc pentru site-ul/pagina care ma intereseaza un numitor comun de care sa ma leg sa pot compune un algoritm sa extrag ce imi trebuie.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Mariusiky
Junior Member
Mesaje: 45
Membru din: Mie Iul 25, 2012 2:38 pm
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Mariusiky » Vin Sep 18, 2015 9:32 am

Am folosit in loc de functia find() aceasta functie care cauta exact intre div-uri dar trebuie imbunatatita pentru ca la fel nu preia informatia cum trebuie.

Cod: Selectaţi tot

scrape_between()


http://www.jacobward.co.uk/working-with-the-scraped-data-part-2/


M-am gandit sa preiau cumva informatia in alt mod, gen, cand dai pe pagina sursa sa vad linia care ma intereseaza si sa-i dau script-ului sa preia codul de la linia X pana la linia Y sa o filtreze sa scap de tag-uri iar mai apoi sa imi returneze continutul care ma intereseaza dar nu stiu cum as putea face asta.
Sa am o functie careia sa-i dau linia 100 pana la linia 200 sa preia informatia si sa o filtreze sa scap de tag-uri. Dupa ce parsez tot codul se poate cumva sa returnez liniile de cod ? Cod-ul care incepe de la linia X. Cred ca ar fi mult mai usor.

necuratu
PHPRomania Supporter
Mesaje: 29
Membru din: Vin Iun 19, 2009 4:09 pm
Localitate: Online
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde necuratu » Dum Sep 20, 2015 10:43 pm

bai nu esti prost ce vrei sa faci :) misto abordarea ideii :) dar o sa maninci foarte multe resurse pe partea de proc
poti face tu sa scoata pagina in html sa faci explode dupa '\r\n si sa tii cont la ce linie esti

Mariusiky
Junior Member
Mesaje: 45
Membru din: Mie Iul 25, 2012 2:38 pm
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Mariusiky » Lun Sep 21, 2015 8:28 am

necuratu scrie:bai nu esti prost ce vrei sa faci :) misto abordarea ideii :) dar o sa maninci foarte multe resurse pe partea de proc
poti face tu sa scoata pagina in html sa faci explode dupa '\r\n si sa tii cont la ce linie esti


Sunt constient ca se vor folosii resurse pe partea de procesor dar o sa incerc mai multe metode si cand gasesc una buna incerc sa o optimizez. Deocamdata imi lipseste doar timpul sa ma ocup de asa ceva.

Mariusiky
Junior Member
Mesaje: 45
Membru din: Mie Iul 25, 2012 2:38 pm
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Mariusiky » Mar Sep 22, 2015 4:08 pm

Birkoff scrie:
Mariusiky scrie:
P.S Daca incerci site-ul diffbot[dot]com iti preia exact continutul text de pe o anumita pagina a unui site si as vrea sa fac un script care sa faca acelasi lucru la o simpla scanare a site-ului. Si nu imi dau seama cum il preia cand scaneaza pagina.


am dat sa vad ce extrage din linkul din pagina asta (din phpromania din forum, discutia curenta) si nu mi-a extras nimic... am mai incercat si alte pagini si la fel zice ca nu gaseste nimic.

din ce am observat eu la diffbot, parteaza pagina si extrage anumite taguri/id-uri si continutul lor dar nu are cine stie ce algoritm de parsare a paginilor.
personal, as folosi simplehtmldoom, as parsa pagina, as memora intr-un array id-urile si continutul acelor id-uri si apoi as incerca sa gasesc pentru site-ul/pagina care ma intereseaza un numitor comun de care sa ma leg sa pot compune un algoritm sa extrag ce imi trebuie.


Pana la urma am rezolvat. Este simplu. Prin functia file din php extrag pagina sursa si cu un foreach imi afisez toate liniile si pe fiecare linie div-urile. Filtrez div-urile si raman cu contentul. Pur si simplu fac o functie careia ii dau linia de unde sa preia informatia, filtrez div-urile si astfel am acces usor la informatia dorita.
Div-ul tine pe linie pana se termina deci nu sunt nevoit sa dau mai multe linii de unde sa preia continutul. Simplu nu ? :D
Multumesc pentru idei.

Avatar utilizator
Birkoff
Senior Member
Mesaje: 6380
Membru din: Joi Mar 18, 2004 2:34 pm
Localitate: Bucuresti
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Birkoff » Mar Sep 22, 2015 5:53 pm

algoritmul tau are o hiba :)
daca programatorul acelui site mai adauga/modifica ceva in pagina, nr de linii se va modifica si nu mai gasesti continutul tau la linia initiala...

personal nu m-as ghida dupa nr liniei ci dupa tag sau id.
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.

Mariusiky
Junior Member
Mesaje: 45
Membru din: Mie Iul 25, 2012 2:38 pm
Contact:

Re: Convertire fisier HTML in fisier XML

Mesajde Mariusiky » Mie Sep 23, 2015 5:33 pm

Birkoff scrie:algoritmul tau are o hiba :)
daca programatorul acelui site mai adauga/modifica ceva in pagina, nr de linii se va modifica si nu mai gasesti continutul tau la linia initiala...

personal nu m-as ghida dupa nr liniei ci dupa tag sau id.


Si daca fac un script care sa-si dea refresh la informatia preluata din pagina sursa mai des, e probabilitate mica sa se modifice liniile si sa nu nimeresc linia aleasa. :D


Înapoi la “PHP Incepători”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 65 vizitatori