DOM crawler PHP

toni93

Utente Attivo
12 Nov 2009
38
0
0
ciao a tutti,
ho creato un crawler in php che dato un URL restituisce tutti i link contenuti in esso, solo che ho un problema.

faccio un esempio:
HTML:
<html>
<head>
    <title> Pagina di prova </title>
</head>
<body>
     <a href="url_da_NON_catturare">link</a>
     <h1>
           <a href="url_da_catturare">link</a>
     </h1>
</body>
</html>

cosi come è ora lo script mi cattura tutti i link, mentre invece io voglio che mi catturi solo quelli in h1.
ho provato a fare così ma non funziona,
PHP:
$h1 = $this->dom->getElementsByTagName('h1');
$a = $h1->getElementsByTagName('a');
questa è la parte incriminata
In questo modo mi da errore nella seconda linea in quanto $h1 diventa una DOMNodeList per la quale la funzione getElementsByTagName non esiste.

come posso fare?
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Dovresti utilizzare un ciclo foreach sulla variabile $h1, e per ogni ciclo recuperi l'oggetto relativo tramite la funzione item(). A questo punto dovresti poter operare con getElementsByTagName(). Se non ti è chiaro dimmelo che ti faccio un esempio pratico!
 

toni93

Utente Attivo
12 Nov 2009
38
0
0
ho capito cosa intendi, ci ho già provato infatti ma senza successo, visto che veniva fuori un altro errore

PHP:
$h1 = $this->dom->getElementsByTagName('h1'); 
foreach ($h1 as $h) {
       $anchors[] = $h->getElementsByTagName('a');  //$ancors è array perchè se no sarebbe sovrascritto ogni volta 
}
foreach ($anchors as $anch){
      foreach ($anch as $anchor) {
           $href = $anchor->getAttribute('href');
		.....;  //Inserimento di href nell'array del links
      }
}
 

toni93

Utente Attivo
12 Nov 2009
38
0
0
mi rispondo da solo:
con la struttura che ho scritto prima funziona, l'errore che mi veniva fuori era di tutt'altra cosa :incazz:
 
Discussioni simili
Autore Titolo Forum Risposte Data
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
C Cancellare un elemento del DOM jQuery 4
Marco_88 Verificare la selezione degli elementi dom jQuery 2
Marco_88 Aggiornare elemento DOM jQuery 9
V Scorrere elementi DOM e prendere dei valori Javascript 8
Devil-94 Creazione elementi DOM OGNI volta con sempre un nuovo id. Javascript 1
F Navigare nel DOM jQuery 1
L Problema Select con Javascript e nodi Dom XML. Javascript 0
D Prove DOM events Javascript 4
A Visualizzare albero DOM completo oppure Visualizzare Nodi che fanno parte di una Selezione Javascript 6
A Aggiungere tag nel DOM a parola/e selezionata/e nel output Javascript 15
I Spostare codice js inline in una funzione js con l'aiuto del dom Javascript 1
C Gestire con un elemento DOM il value di un input text Javascript 11
A [Jquery]Focus su campo input appena creato col dom jQuery 5
A Realizzare il gioco del tris usando javascript, il dom e l'oggetto event-. Javascript 4
A menù espandibile usando js .. e i metodi DOM Javascript 9
L Copiare elementi DOM [era: Script Ajax - Nuovo Div] Javascript 3
emanuelevt DOM form metodo submit() Javascript 4
emanuelevt dom e ajax Javascript 1
I Leggere xml con dom in php PHP 3
emanuelevt dom e div con lo stesso nome Javascript 4
T [Aspx e Xml]Caricare xml in un dom da Url ASP.NET 0
JellyBelly Problema con DOM PHP 3
S [vb6 - xml - dom] Visual Basic 0
V Caricare un file XML ed utilizzarlo come DOM XML 1
nourdine css dom e passaggio dinamico del nome della proprietà css Javascript 0
S Problemino da Newbie con DOM Javascript 0
C DOM event onKeyUp Javascript 1
G Campo calcolato con DOM Javascript 17
M aiuto dom... Javascript 3
A creare un crawler PHP 3
G crawler php , legale? e problema simbolo euro PHP 4
V Realizzazione spiders, bot, crawler, autoinserimenti Offerte e Richieste di Lavoro e/o Collaborazione 0
M Web Crawler in Java Java 0
B google crawler SEO e Posizionamento 0
peppoweb Crawler Microsoft avvistato in rete SEO e Posizionamento 0
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9

Discussioni simili