Salut, incerc sa parcurg cu DOM, o pagina dupa youtube, insa e mult prea complicata si nici eu nu sunt familiarizat cu aceasta metoda. Am reusit doar sa ajung in “tbody” din table, care “table” e singurul tag din pagina,deci n-ar fi o problema de confuzie.
Si pagina preluata arata cam asa: https://pastebin.com/E1ni2X5a
Oricum, cred ca metoda corecta ar fi sa parcurg in mod ierarhic: html>body>table>tr>td.
Eu as avea nevoie de atributul “data-title” si “data-video-id” din
<tr class="pl-video yt-uix-tile " data-set-video-id="" data-title="INNA - Ruleta (feat. Erik) | Official Music Video " data-video-id="ax9ge-ymWIQ">"
Stiu, as putea lucra cu api-ul oferit, insa nu sunt multumit de anumite rezultate. Ar merge facut si cu explode(),insa cererea cred ca dureaza mai mult decat cu DOM().
Multumesc mult !
Poți detalia? Singura problemă avută de mine este legată de modul în care este dată durata filmului, de multe ori mi s-a întâmplat să fie o secundă în plus sau în minus.
Da, e vorba de videoclipurile “related” ale unui clip. De ex, daca am o melodia cu “Smiley” imi da si cele cover, adica nu-mi respecta categoria “Muzica”, care are id-ul 10 daca nu ma insel.
GET https://www.googleapis.com/youtube/v3/search?part=snippet&relatedToVideoId=5rOiW_xY-kc&type=video&key={YOUR_API_KEY}
Pentru ca in metoda “search”, nu are si campul categoryID.Sper ca ai inteles, ms.
In ultima faza, am sa merg cu regex,probabil voi avea nevoie si de preg_match.Anyway, am sa le combin foreach($x->query('//tr') as $table)
Scot continutul din “tr” si-l manipulez, cu functiile de mai sus. Multumesc !
Personal nu incurajez scrierea de expresii regulate “manuale” care se folosesc doar o data (pe un singur caz). Eu as incerca sa folosesc componenta Symfony numita DomCrawler in combinatie cu CssSelector, e mult mai usor sa faca altcineva parcurgerea DOM-ului
Am gasit cu usurinta documentatie si exemple, aici un snippet sa iti faci o idee, un blogpost scurt la fel de targetat. Sunt si tutoriale mai avansate, care adauga Goutte in combinatie pt a obtine un pachet complet, aici cred ca depinde f mult de ce ai nevoie sa faci.
Multumesc frumos,dragi prieteni. Ca urmare a interesului manifestat, presupun ca ar fi frumos din partea mea sa va arat cum am reusit. Bineinteles,erau mai multe cai,insa asta cred ca e cea mai "friendly’.
In link-ul trimis de tine: https://pastebin.com/E1ni2X5a
Html-ul nu e valid, tag-ul de tbody, nu se inchide.
Parcurgerea cu dom e posibila pe un continut valid.