- Home
- Categorie
- Coding e Sistemistica
- PHP
- parsing di una pagina web in php
-
parsing di una pagina web in php
Innanzitutto, un grazie anticipato a chiunque cercherà di rispondermi ^^
Il mio problema è questo:
Devo utilizzare dei dati da una pagina web. La pagina web in questione è generata dal comando server-status e per chi non l'ha presente l'ho printata dallo schermo e divisa in due immagini:
http://img225.imageshack.us/img225/1323/print1bl2.png
http://img225.imageshack.us/img225/2077/print2yz0.pngLe informazioni che mi interessano in particolare sono il carico di lavoro della CPU per soddisfare la richiesta in corso ( che dovrebbe essere la penultima riga prima delle linee continue e puntini...sempre se non mi sbaglio ) e il tipo di request che si ricava invece dall'ultima parte dell'url.
Questi dati li devo ricavare per ogni richiesta che arriva al server, e li devo poi memorizzare in una lista (da cui mi servirà leggerli in seguito).
Non so da dove iniziare per fare il parsing della pagina di PHP conosco solo le funzioni base, ho vagato alla ricerca di tutarial ma con scarso successo (magari sono io che ho la zucca dura...)
Se qualcuno mi riuscisse ad aiutare, anche solo un suggerimento, sarei davvero felicissima (ultima speranza prima di.... :impiccato:)
Grazie ancora!
-
Puoi aprire l'URL con file() poi scansionare le righe e cercare la stringa che ti interessa:
$fc=file("URL_DELLO_STATUS"); foreach($fc as $line) { if (!strstr($line, "CONTENUTO DELLA RIGA CHE MI INTERESSA")) echo $line; // QUI (INVECE DELL'ECHO) GESTISCI LA STRINGA }
-
Grazie! Provo a vedere se mi riesco a farlo funzionare.
-
Allora... sono riuscita a selezionare la riga corretta (grazie ancora del suggerimento) mi restano ancora un paio di dubbi.
Se le righe che volgio selezionare sono 2 dalla stessa pagine, è meglio che chiamo 2 volte la stessa funziona passandole come parametri una volta una riga e una volta l'altra o fare tutto nella stessa funzione e far ritornare entrambe le righe?
Poi, voglio selezionare un dato numerico dalla linea. Dai manuali che ho letto la funziona substr() deve specificare la sottostringa da selezionare...ma io non la conosco a priori. Esiste un modo per farle selezionare il dato che mi serve (ad esempio indicando con che caratteri deve iniziare e finire) o bisogna usare un'altra funzione?
Grazie...:redface:
-
Potresti ricorrere all'uso delle espressioni regolari, viene il mal di pancia ad usarle ma funzionano molto bene.
-
@sten said:
Potresti ricorrere all'uso delle espressioni regolari, viene il mal di pancia ad usarle ma funzionano molto bene.
Non le conosco...le trovo sul manuale php?
-
Lo trovi qui:
http://it.php.net/manual/it/reference.pcre.pattern.syntax.php
spero che ti possa essere utile
-
@sten said:
Lo trovi qui:
http://it.php.net/manual/it/reference.pcre.pattern.syntax.php
spero che ti possa essere utile
Grazie!
-
@Senamion said:
Puoi aprire l'URL con file() poi scansionare le righe e cercare la stringa che ti interessa:
> $fc=file("URL_DELLO_STATUS"); foreach($fc as $line) { if (!strstr($line, "CONTENUTO DELLA RIGA CHE MI INTERESSA")) echo $line; // QUI (INVECE DELL'ECHO) GESTISCI LA STRINGA } >``` Esiste un modo per poter leggere la linea successiva a quella trovata usando questa funzione? Intendo questo: io posso cercare la linea con la parola "request" ma la stringa che mi interessa modificare si trova nella linea successiva, posso scorrere le linee come un array oppure no?
-
foreach($fc as $key => $line)
{
if (!strstr($line, "CONTENUTO DELLA RIGA CHE MI INTERESSA"))
echo $line; // QUI (INVECE DELL'ECHO) GESTISCI LA STRINGA/* LA RIGA SUCCESSIVA DOVREBBE ESSERE QUESTA */
echo $fc[$key + 1];
}
-
Grazie al vostro preziosissimo aiuto sono riuscita a scrivere il mio primo script in php! Sono contentissima!!
Grazie infinite a tutti quelli che mi hanno aiutato!